学习备用
在android中用适配器的地方非常多,它是数据和UI之间的一个重要纽带。想要更好的设计界面,适配器必不可少。
像ListView,GridView都需要用到Adapter
andoid中最常用的适配器BaseAdapter,ArrayAdapter,SimpleCursorAdapter
BaseAdapter:
public abstract class BaseAdapter
是个抽象类,需要继承较多方法,但灵活
ArrayAdapter:实现getView方法就能出界面,但最好还是重写getItemId,在界面可以省下许多事。
SimpleCursorAdapter:与Cursor相关的,需要Cursor的字段和UI的id对应
<ListView
android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:entries="@array/books" /><!-- 直接在xml里面指定数据 -->
用代码实现ArrayAdapter
String[] arr = { "java", "c", "c++" };
// android.R.layout.simple_list_item_1 是指定每一项Item的样式,在自定义adapter后,自己定义样式
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arr);
listView.setAdapter(arrayAdapter);// 为ListView设置Adapter
// simple_list_item_1:其实里面就是一个TextView
// simple_list_item_2:大字体的TextView
// simple_list_item_checked:每个列表项都是一个已勾选的列表项。
// simple_list_item_multiple_choice:每个列表都是带多选框的文本。
// simple_list_item_single_choice:每个列表项都是带多单选按钮的文本。
用代码实现SimpleCursorAdapter
ListAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_1, cursor,
new String[] { People.NAME },
new int[] { android.R.id.text1 });
listView.setAdapter(adapter);
用SimpleCrusorAdapter的时候,传入的cursor必须要一个_id字段