使用ListActivity的总结_安卓程序开发

上传人:碎****木 文档编号:220862670 上传时间:2021-12-09 格式:DOCX 页数:6 大小:56.33KB
返回 下载 相关 举报
使用ListActivity的总结_安卓程序开发_第1页
第1页 / 共6页
使用ListActivity的总结_安卓程序开发_第2页
第2页 / 共6页
使用ListActivity的总结_安卓程序开发_第3页
第3页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《使用ListActivity的总结_安卓程序开发》由会员分享,可在线阅读,更多相关《使用ListActivity的总结_安卓程序开发(6页珍藏版)》请在金锄头文库上搜索。

1、_安卓程序开发使用 ListActivit的y 总结ListActivity 是一个特地显示 ListView 的 Activity 类,它内置了ListView 对象,实现数据源的绑定与显示,数据源通常会是一个 array 或者一个拥有查询结果的cursor. 只要我们设置了数据源,ListView 就会自动地显示出来。ListActivity 本身有一个默认的 layout,其中包含一个全屏的 list。假设用默认的 layout, 必需在 onCreate()中注释掉setContentView()那一句。虽然ListActivity 内置 ListView 对象有默认的 layout,

2、但我们照旧可以使用 custom view, 通过在onCreate()里面调用setContentView(resources id)。不过要留意的是,在自定义的 Layout 里面,必需包括一个只能一个ListView,而且要设置ListView 对象的id为“android:id/list“;在 Java 代码里使用android.R.id.list。下面的例子,假设当 ListView 中没有值而又想提示一句话时,那么用于指定显示提示信息的TextView的 id 必需为 “android:id/empty“,提示的信息可以通过 android:text 进展指定,当 ListView

3、 里面没有 data 的时候,就会显示“No data“。自定义的 View (listview.xml):加载 Layout:Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.listview);/ 没有设置data source官方供给了多种 ListItem 的 Layout (R.layout),以下是较为常用的:android.R.layout.simple_list_item_1一行textandroi

4、d.R.layout.simple_list_item_2一行title,一行 textandroid.R.layout.simple_list_item_single_choice单项选择按钮android.R.layout.simple_list_item_multiple_choice多项选择按钮android.R.layout.simple_list_item_checkedcheckbox我们可以自定义自己的 Layout (list_item.xml):使用时,以 R.layout.list_item 引用就行了。通过调用 SetListAdapter(ListAdapter ad

5、apter) 就可实现数据的绑定。我们可以implements ListAdapter来自定义自己的数据源。API内置了几个已经implements ListAdapter的Adapter: BaseAdapter,SimpleAdapter (以 Map 的形式存储静态数据),SimpleCursorAdapter (用于游标查询的结果)等等。通常我们更多地 extends BaseAdapter 来编写自己的 Adapter 类,由于BaseAdapter 类是其他 Apdater 类的基类。扩展 BaseAdapter 类一般都需要重写以下方法: intgetCount()猎取当前 Ad

6、apter 的Items 数目ObjectgetItem(int position)猎取相应position 的 ItemlonggetItemId(int position)猎取相应position 的 Item 在 List 中的row idViewgetView(int position, View convertView, ViewGroup parent)猎取在指定position 所要显示的 data 的 View具体内容可以查看 BaseAdapter 类的继承 android.widget.Adapter 的方法,有时也需要重写ListAdapter 的 booleanisEn

7、abled(int position)来实现某些效果。不同 Adapter 绑定数据的例子:1. 使用 ArrayAdapterpublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);/ 参考ArrayAdapter 的构造函数setListAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1, mStrings);/在 ListView 上输入字母,就会自动筛选出以此内容开头的 Item getListVi

8、ew().setTextFilterEnabled(true);private String mStrings = “A“, “Android“, “机器人“, “Google“;2. 使用SimpleCursorAdapter通过读取通讯录 android.provider.Contacts.Phones 的资料,显示出来。protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);/ Get a cursor with all phonesCursor c = getConten

9、tResolver().query(Phones.CONTENT_URI, null, null, null, null); startManagingCursor(c);/ Map Cursor columns to views defined in simple_list_item_2.xml ListAdapter adapter = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_2, c,new String Phones.NAME, Phones.NUMBER , new int android.R.id

10、.text1, android.R.id.text2 );setListAdapter(adapter);3. ListItem 为单项选择按钮public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);/ 参考ArrayAdapter 的构造函数setListAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_single_choice, mStrings);final ListView listView = g

11、etListView(); listView.setItemsCanFocus(false);listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); /设置单项选择模式private String mStrings = “A“, “Android“, “机器人“, “Google“;4. 使用SimpleAdapterSimpleAdapter 将一个 List 做为数据源,可以让 ListView 进展更加共性化的显示。而 List 中的第一项为哪一项个 Map(用到泛型),其中 Map 中的每项将与 ListView 中的每项进展一一对应绑

12、定。Ok,看一下构造:SimpleAdapter(Context context,List? Extends Map data,int resource,String form, int to);Context:当前上下文,一般把 Activity.this 传递进展。Data: 数据源。Resource: 自定义的 layout 模板资源,可以用 R.layout.xxx 猎取引用。Form: 定义 ListView 中的每一项数据索引,索引来自于 Map,即指定要显示的内容。To:View 数组,在 ListView 模板中的定义 View,与 Form 中需要一一对应。public void onCreate(Bundle savedInstanceStat

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号