Android UI学习 - ListView
2010-07-02 14:54:00 来源:WEB开发网android.R.layout.simple_list_item_2 一行title,一行text
android.R.layout.simple_list_item_single_choice 单选按钮
android.R.layout.simple_list_item_multiple_choice 多选按钮
android.R.layout.simple_list_item_checked checkbox
我们可以自定义自己的Layout (list_item.xml):
< ?xml version="1.0" encoding="utf-8"?>
< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
< ImageView android:id="@+id/icon"
android:layout_width="48dip"
android:layout_height="48dip" />
< TextView android:id="@+id/text"
android:layout_gravity="center_vertical"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content" />
< /LinearLayout>
使用时,以R.layout.list_item引用就行了。可以参考http://androidappdocs.appspot.com/resources/tutorials/views/hello-listview.html。
绑定数据
通过调用SetListAdapter(ListAdapter adapter)就可实现。我们可以implements ListAdapter来自定义自己的数据源。API内置了几个implements ListAdapter的Adapter:BaseAdapter,SimpleAdapter (以Map的形式存储静态数据),SimpleCursorAdapter (用于游标查询的结果)等等。通常我们更多地extends BaseAdapter来编写自己的Adapter类,因为BaseAdapter类是其他Apdater类的基类。扩展BaseAdapter类一般都需要重写以下方法:
int getCount() 获取当前Adapter的Items数目
Object getItem(int position) 获取相应position的Item
long getItemId(int position) 获取相应position的Item在List中的row id
View getView(int position, View convertView, ViewGroup parent) 获取在指定position所要显示的data的View
详细内容可以查看BaseAdapter类的继承android.widget.Adapter的方法,有时也需要重写ListAdapter的boolean
更多精彩
赞助商链接