AdapterView
배열, 파일, 데이터베이스 등의 데이터를 화면에 보여주기 위한 뷰
1. ListView
1) 소스 xml
values에서 마우스 우클릭, New Resource File로 xml 파일 생성.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="fruits">
<item>사과</item>
<item>딸기</item>
<item>수박</item>
<item>참외</item>
<item>바나나</item>
<item>망고스틴</item>
<item>낑깡</item>
<item>키위</item>
</string-array>
</resources>
2) 레이아웃 xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.progdv.app02_listview.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/ListView01"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
</RelativeLayout>
3) 실행 클래스
어댑터를 생성해서 리스트뷰에 연결하여 사용한다.
package com.progdv.app02_listview;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.progdv.app02_review.R;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 1. 데이터 생성 (xml 파일 이용)
String[] fruits = getResources().getStringArray(R.array.fruits);
// 2. Adapter 객체 생성: AdapterView 적용(시스템 위젯), 데이터 연결
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_expandable_list_item_1, fruits);
// 3. AdapterView 객체 생성: 어댑터 연결
ListView listView = (ListView)findViewById(R.id.ListView01);
listView.setAdapter(adapter);
// 4. AdapterView 이벤트 처리
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(), ((TextView)view).getText(),
Toast.LENGTH_LONG).show();
}
});
}
}
'안드로이드' 카테고리의 다른 글
AdapterView: Spinner (0) | 2016.04.26 |
---|---|
AdapterView: Custom Adapter 만들기 (0) | 2016.04.25 |
ScrollView (0) | 2016.04.25 |
레이아웃: TableLayout, TableRow (0) | 2016.04.22 |
레이아웃: FrameLayout (0) | 2016.04.22 |