安卓ListActivity开发手册

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

ListActivity应用程序开发手册目录1listActivity简介.........................................................................................................................................................21.1listActivity事件响应....................................................................................................................................41.1.1.列表被点击事件.................................................................................................................................41.1.2.列表获得焦点事件.............................................................................................................................51.2使用simpleAdapter.......................................................................................................................................61.3使用SimpleCursorAdapter...........................................................................................................................91.4定制自己的Adapter...................................................................................................................................101.5可扩展ListActivity.....................................................................................................................................121.6具有下拉列表的ListActivity.....................................................................................................................152附录一文档示例源代码........................................................................................................................................161listActivity简介ListActivity直接继承于activity,是用来在屏幕中显示一个列表的窗口应用程序,当点击窗口中的某一列时,可以触发一些操作,ListActivity是手机基本应用中最常用的一类应用程序。为了实现ListActivity显示数据,我们需要把我们的数据绑定到一个继承于BaseAdapter的对象上。简单来说,listActivity应用的adapter的数据源主要有arrary和cursor,先看一个简单的例子。跟普通的activity程序一样,程序首先创建一个继承于ListActivity的子类,然后重载onCreate方法。程序第31行,开始设置应用于listActivity的一个ListActivity,参数android.R.layout.simple_list_item_1是一个TextView的配置文件,用来设置列表中每一行的显示窗口。mString是一个字符串数组,用来保存要存放的数据。这个简单的程序运行效果如下:每一个ListActivity系统都会给它指定默认的窗口布局,因此不需要我们setContentView(),但是我们也可以指定窗口的布局,如下:?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=:layout_width=fill_parentandroid:layout_height=fill_parentandroid:orientation=verticalListViewandroid:id=@id/android:listandroid:background=#00FF00android:layout_weight=2android:drawSelectorOnTop=falseandroid:layout_width=wrap_contentandroid:layout_height=wrap_content/TextViewandroid:id=@id/android:emptyandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:background=#FF0000android:text=@string/no_notes//LinearLayout这里需要注意的是那个ListView的ID,是系统自定义的android:list,不是我们随便取的,否则系统会说找不到它想要的listview了。然后,在这个listview之外,我们又增加了一个TextView,这个系统自定义的id是Android:empty,当列表中没有数据时,屏幕变成红色来显示一个no_notes的文本。1.1listActivity事件响应对于listActivity中显示的列表,我们可以重载一些函数来响应我们应该处理的事件。listActivity继承于activity,同时组合了listView,因此一把用于activity上的回调函数应用在listActivity上,同时也可以通过getListView获得当前的listView的引用,对这个listView来设置一些监听对象来完成listView傻瓜响应的特定功能,本节简要介绍两个长用回调函数,其他的由开发人员慢慢分析。1.1.1.列表被点击事件某一列主题被点击事件,我们需要重载回调函数:protectedvoidonListItemClick(ListViewl,Viewv,intposition,longid){//addyourcode}参数ListViewl是你点击的列表控件,Viewv是你当前正点击的在ListView中的一项,positon是被点击的行在列表中的位置,这个位置从0开始算起,id是被点击的行号。*@paramlTheListViewwheretheclickhappened*@paramvTheviewthatwasclickedwithintheListView*@parampositionThepositionoftheviewinthelist*@paramidTherowidoftheitemthatwasclicked比如我们要获取当前点击的行中的内容在,可以这么做:protectedvoidonListItemClick(ListViewl,Viewv,intposition,longid){//addyourcodeTextViewtext=(TextView)l.getItemAtPosition(position);StringmyItem=text.getText();}通过getItemAtPosition(position)返回的是一个view对象,这个对象需要你强制转换成你事实中正使用的对象类型。这一点请关注后面的Cursor和一些自己定义的Adapter情况。1.1.2.列表获得焦点事件对于列表获得焦点事件,我们可以直接接在它组合的listView上注册获得焦点函数来完成,在onCreate函数中添加以下代码:this.getListView().setOnItemSelectedListener(newOnItemSelectedListener(){@OverridepublicvoidonItemSelected(AdapterViewparent,Viewv,intposition,longid){showAlert((CharSequence)SelectionChanged...,R.drawable.star_big_on,(CharSequence)(Position:+position),(CharSequence)(OK),false);}@OverridepublicvoidonNothingSelected(AdapterViewarg0){//DoNothing}});这个注册的监听事件,是当有一行被选择时(高亮度显示),会出现一个对话框提示你正选择的位置。1.2使用simpleAdaptersimpleAdapter跟其名字大不一样,使用起来必ArraryAdapter稍微复杂一些:使用这个simpleAdapter主要出现在自己要指定一个listmap的数据映射的时候,还是先看看简单的例子。第36行,创建一个继承于listActivity的子类。第41行,设置这个窗口程序的listView界面布局。第42行,设置listActivity的和listView之间的数据适配器,这个适配器的地一个参数是当前的对象,第二个参数是我们要用到的映射成map的list结构数据,第三个参数是每一行列表的布局,可以看看这个布局文件是两个textView,第四个参数是一个字符串数组,设置了map对象中文本显示的顺序,第五个参数依次把第四个参数数组中应该映射的文本依次映射到listView中每一行的布局上去。第46行,是生成一个listmapstring,string对象,用来保存当前的数据。本节程序的源代码见附件Simple_adapter工程程序的配置文件依次如下,layout.main?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=:layout_width=fill_parentandroid:layout_height=fill_parentandroid:orientation=verticalListViewandroid:id=@id/android:listandroid:layout_weight=2android:drawSelectorOnTop=falseandroid:layout_width=wrap_contentandroid:layout_height=wrap_content/TextViewandroid:id=@id/android:emptyandroid:lay

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功