본문 바로가기
android

7장 기능/실습 - 13 ( ListView )

by 뱅뱅뱅뱅뱅 2024. 10. 8.

배열 자료: res/values/

이미지 자료: res/drawable/

 

  • R.layout....
    • R: res ( 리소스 )

 

  • view란
    • 화면에 표시되는 모든 UI 구성 요소
    • 리스트 뷰 도 뷰
    • 리스트 뷰 안에 있는 항목들도 뷰

 

  • Context
    • 애플리케이션 실행을 위해 필요한 기본 정보들과 환경

 

 

  • 어댑터 ( Adapter )
    • 목적: 외부 데이터 소스와 어댑터뷰 사이의 연결 수단을 의미
    • 어댑터는 여러 계층으로 구성 : 리스트어댑터, 스피너어댑터...
    • 배열 데이터는 ArrayAdapter, 데이터베이스는 CursorAdapter 등이 있습니다.
  • 데이터 소스
    • DB, XML, 배열 등..
  • 어댑터뷰 ( AdapterView )
    • 특징: 어댑터를 이용하여 데이터로 레이아웃을 구성, 사용자 선택 이벤트 처리
    • ViewGroup의 서브클래스
    • ListView, GridView 등
    • 어댑터를 통해 데이터를 동적으로 표시합니다.
  • ArrayAdapter
    • 역할: 배열과 같은 간단한 데이터 소스를 어댑터 뷰에 연결하기 위해 사용됩니다.
    • 레이아웃: Android에서 제공하는 간단한 레이아웃 리소스 ID를 사용하여 텍스트나 선택 가능한 항목을 구성할 수 있습니다. 예를 들어:
      • simple_list_item_1: 텍스트뷰 한 개로 구성된 레이아웃
      • simple_list_item_checked: 체크 표시 레이아웃
      • simple_list_item_single_choice: 라디오 버튼 표시
      • simple_list_item_multiple_choice: 체크박스 표시

simple_list_item_1
simple_list_item_checked
simple_list_item_single_choice
simple_list_item_multiple_choice

String[]items={“item1”,“item2”,“item3”};
ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, android.R.layout.simple_list_item_1, items);
  • ListView
    • 안드로이드에서 리스트박스를 구현하기 위하여 제공해주는 클래스
  • 선택위젯이란
    • 어댑터를 이용하여 데이터 연결
    • 배열 리스트, 데이터베이스 내의 데이터 등 여러 개의 데이터 항목들을 나타내 줌




  • View.OnClickListener, AdapterView.OnItemClickListener
    • 버튼 클릭과 리스트 항목 클릭 이벤트를 처리에 대한 인터페이스
  • onCreate()
    • 액티비티가 생성될 때 호출되는 메서드입니다.
    • setContentView(R.layout.activity_main);: activity_main.xml 레이아웃 파일을 현재 화면에 설정합니다.
  • btn01 = (Button) findViewById(R.id.button01);
    • activity_main.xml 파일에서 ID가 button01인 버튼을 찾아 btn01 변수에 할당
    • setContentView(R.layout.activity_main); 이 줄이 있기 때문에 activity_main에서 id 찾음
    • setContentView 가 없으면 레이아웃이 로드되지 않아 findViewById를 사용해도 원하는 UI 요소를 찾을 수 없게 된다.
  • btn01.setOnClickListener(this);
    • btn01 이 클릭되었을 때 onClick() 메서드가 호출
  • ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, list_items)
    • list_items 배열의 데이터를 갖은 어댑터 생성
      • simple_list_item_1 각 항목을 텍스트뷰로 표시
  • lv.setAdapter(adapter)
    • 생성한 어댑터를 리스트뷰에 설정하여 리스트 항목 표시
  • lv.setOnItemClickListener(this)
    • 리스트의 항목이 클릭될 때 onItemClick() 메서드가 호출

 

 

 

 

 

- 어댑터 란


- 어댑터뷰 란


- 어레이어댑터 란

 

- AdapterView.OnItemClickListener

 

- ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, android.R.Simple_list_item_1, list_items);


- lv.setAdapter(adapter);


- lv.setOnItemClickListener(this);


- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {}

 

 

스피너

AdapterView.OnItemSelectedListener

(메소드)

onItemSelected( AdapterView parent, View view, int position, long id ) {}