文档详情

android之adapter用法总结.docx

发布:2019-04-23约7.11千字共16页下载文档
文本预览下载声明
android之adapter用法总结   同样是一个ListView,可以用不同的Adapter让它显示出来,比如说最常用的ArrayAdapter,SimpleAdapter,SimpleCursorAdapter,以及重写BaseAdapter等方法。   ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果,SimpleCursorAdapter则可以从数据库中读取数据显示在列表上,通过从写BaseAdapter可以在列表上加处理的事件等。   下面先来看看ArrayAdapter:   1package;   2   3import;   4   5import;   6import;   7import;   8import;   9   10/**   11*   12*@authorshangzhenxiang   13*   14*/   15publicclassTestArrayAdapterActivityextendsActivity{16   17privateListViewmListView;   18privateArrayListmArrayList=newArrayList();19   20@Override   21protectedvoidonCreate(BundlesavedInstanceState){(savedInstanceState);   23setContentView();   24mListView=(ListView)findViewById();(newArrayAdapter(this,_expandable_list_item_1,getData()));26}   27   28privateArrayListgetData(){   (测试数据1);   (   测试数据   2);31   (测试数据   3);   (测试数据4);   (测试数据5);   (测试数据6);   35returnmArrayList;   36}   37}   布局里面有个ListView就可以了:   1   2   6   10   14   上面的代码中用到了ArrayAdapter的构造方法:   publicArrayAdapter(Contextcontext,inttextViewResourceId,T[]objects)   Api中是这么描述的:   其中Context为当前的环境变量,可以显示一行文字的一个布局文件,和一个List   的集合,   也就是数据源。   布局文件可以自己写,也可以用系统的,我这里是用的系统的。自己写的布局中包含一个TextView就可以了,当然系统中也有包含一个TextView的布局文件:就是   _expandable_list_item_1,调用这个比较方便。   这里给出运行后的效果图:   下面说说SimpleCursorAdapter:   Api中是这么说的:Aneasyadaptertomapcolumnsfromacursorto   TextViewsorImageViewsdefinedinanXMLfile.Youcanspecifywhichcolumnsyouwant,whichviewsyouwanttodisplaythecolumns,andtheXMLfilethatdefinestheappearanceoftheseviews.   简单的说就是方便把Cursor中得到的数据进行列表显示,并可以把指定的列映射到指定的TextView上。   我这里写的是从联系人中拿到数据并显示在列表上。代码如下:   1package;   2   3import;   4import;   5import;   6import;   7import;   8import;   9   10/**   11*   12*@authorshangzhenxiang   13*   14*/   15publicclassTestSimpleCursorAdapterextendsActivity{   16   17privateListViewmListView;   18privateCursormCursor;   19privateSimpleCursorAdaptermAdapter;   20   21@Override   22protectedvoidonCreate(BundlesavedInstanceState){   (savedInstanceState);   24setContentV
显示全部
相似文档