본문 바로가기
개발/안드로이드 어플

②안드로이드어플개발 - ListView 와 ArrayAdapter

by 외노자개발 2022. 11. 25.
반응형

ListView


ListView는 스크롤 가능한 항목의 목록을 표시하는 View 그룹입니다.
Adapter 는 배열이나 데이터베이스 등으로부터 각각의 요소를 리스트에 넣을 수 있도록 변환해 자동적으로 삽입해 줍니다.

 

ListView에 사용하는 어댑터에는 용도에 따라 ArrayAdapter, BaseAdapter, SimpleAdapter, 그 밖에도 몇 가지가 있습니다.

  • ArrayAdapter
    • BaseAdapter를 상속하여 간단한 TextView 목록을 표시합니다 (이것을 상속하여 사용자 정의 어댑터를 만들 수 있음)
  • SimpleAdapter
    • Map 클래스를 사용하여 목록 항목의 레이아웃 사용자 정의
  • BaseAdapter
    • 레이아웃을 사용자 지정하려면 이를 상속한 사용자 지정 어댑터를 만듭니다.

 

ArrayAdapter


private ListView list;

	list = (ListView) findViewById(R.id.list);
        List<String> data = new ArrayList<>();
        
        ArrayAdapter<String> adapter = new ArrayAdapter<String>
                (this, android.R.layout.simple_list_item_1,data);

        list.setAdapter(adapter);

 

private ListView list; 를 정의한다. 

정의 후 list에 xml파일에서 정의한 ListView를 가져온다. 

그리고 ArrayList<>();를 data로써 정의하고 , 

ArrayAdapter<String> adapter를 정의하는데 안의 값은 this, android.R.layout.simple_list_item_1,data)

로써 방금 ArrayList로 정의한 data 표시로써 넣어준다.

simple_list_item_1 은 준비되어 있는 미리 정의된 레이아웃 파일의 ID입니다. 

ArrayAdapter를 설정한다. list.setAdapter(adapter)로 설정 해줍니다.

 

 

순서대로 나열하자면

1. ListView 인스턴스 생성

2. ArrayAdapter 인스턴스 생성

3. ArrayAdapter 인스턴스를 ListView로 설정

 

 

그리고 간단하게 값을 설정 해줍니다.

        data.add("SeoAndroid");
        data.add("SeoAndroi");
        data.add("SeoAndro");
        data.add("SeoAndr");
        adapter.notifyDataSetChanged();

 

반응형

댓글