ListView는 어댑터뷰의 대표 위젯으로서, 복수 개의 항목을 수직으로 표시
메인화면 레이아웃(예, activity_main.xml)에 ListView 위젯을 추가하고, XML 레이아웃 파일에 정의된 ListView 위젯을 Java 코드에서 참조하기 위하여 id 속성을 정의한다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
ArrayAdapter 생성자
ArrayAdapter(Context context, int resource, T[] objects)
resource: 항목으로 표시될 텍스트 뷰의 리소스 ID
리소스 ID | 설명 |
---|---|
android.R.layout.simple_list_item_1 | 하나의 텍스트 뷰로 구성된 레이아웃 |
android.R.layout.simple_list_item_2 | 두 개의 텍스트 뷰로 구성된 레이아웃 |
android.R.layout.simple_list_item_checked | 오른쪽에 체크 표시가 나타남 |
android.R.layout.simple_list_item_single_choice | 오른쪽에 라디오 버튼이 나타남 |
android.R.layout.simple_lsit_item_multiple_choice | 오른쪽에 체크 버튼이 나타남 |
objects: 어댑터로 공급될 데이터 원본으로 단순 배열
String 배열을 이용한 ArrayAdapter 객체 생성 예제
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 데이터 원본 준비
String[] items = {"item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8"};
//어댑터 준비 (배열 객체 이용, simple_list_item_1 리소스 사용
ArrayAdapter<String> adapt
= new ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1,
items);
}
}
얻어온 ListView 객체에 생성된 어댑터 객체(예, ArrayAdapter 객체-adapt)를 setAdapter()라는 메소드를 통해서 설정한다.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 데이터 원본 준비
String[] items = {"item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8"};
//어댑터 준비 (배열 객체 이용, simple_list_item_1 리소스 사용
ArrayAdapter<String> adapt
= new ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1,
items);
//어댑터 연결
ListView list = (ListView) findViewById(R.id.listView);
list.setAdapter(adapt);
}
}
실행 결과
SimpleListViewTest 프로젝트 Github URL : https://github.com/kwanulee/AndroidProgramming/tree/master/examples/SimpleListViewTest