Android

[Android] Adapter객체를 생성하면서 만들 수 있는 Adapter 형태

poppy 2020. 9. 17. 14:50
반응형

리스트뷰의 레이아웃에는 여러가지가 있는데요! 그 중 대표적인 5개를 살펴보겠습니다

1. simple_list_item_1

- 텍스트뷰 하나로 구성된 레이아웃

protected void onCreate(Bundle savedInstanceState) {
        List<String> list = new ArrayList<>();
        list.add("빨강");
        //~나머지 생략

        ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,list);
        listview.setAdapter(adapter);
}

list에 값을 추가하고 어댑터를 생성해서 리스트뷰와 연결해주면 됩니다. 

R.layout.simple_list_item_1 simple_list_item_checked / simple_list_item_single_choice / simple_list_item_multiple_chocie 로 바꾸어주면 3,4,5 과 같은 레이아웃을 적용할 수 있습니다. 

 

2. simple_list_item_2

- 텍스트 두 개로 구성된 레이아웃

protected void onCreate(Bundle savedInstanceState) {
        ListView listview = (ListView)findViewById(R.id.listview);
        ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String, String>>();

        HashMap<String,String> item = new HashMap<String, String>();
        item.put("item1", "빨강");
        item.put("item2", "Red");
        list.add(item);
		//~나머지생략

        SimpleAdapter adapter = new SimpleAdapter(this,list,android.R.layout.simple_list_item_2,new String[] {"item1","item2"},new int[] {android.R.id.text1, android.R.id.text2});
        listview.setAdapter(adapter);
    }

simple_list_item_2 은 텍스트가 2개가 들어가서 다른 레이아웃과 다르게 코드가 달라집니다.

String을 두 개를 받아야하므로 ArrayList에 String을 두 개 받을 수 있도록 정의해줍니다. 텍스트를 담을 item을 생성해주고, 두 개의 텍스트를 넣어줍니다. "item1" 과 "item2" 은 첫번째와 두번째 텍스트를 구분해줍니다. list에 텍스트가 담겨 있는 item을 추가해주고, 어댑터 생성 후 리스트뷰와 연결해줍니다.

 

여기부터는 1번과 코드가 같습니다!

3. simple_list_item_checked

- 텍스트와 오른쪽에 체크 표시가 있는 레이아웃

 

4. simple_list_item_single_choice

- 텍스트와 오른쪽에 라디오버튼이 있는 레이아웃

 

5. simple_list_item_multiple_chocie

- 텍스트와 오른쪽에 체크버튼이 있는 레이아웃

 

반응형