Android UI 图:

8 ListView ListActivity SimpleAdapter ArrayAdapter

列表视图是一种可以用来显示长的项列表的视图。在 Android 中,有两种列表视图: ListView 和 SpinnerView,两者都用于显示长的项列表。ListView 在一个垂直滚动列表中显示项列表。

1)使用继承android.app.ListActivity+ArrayAdapter方式

strings.xml

<string-arrayname="array_listitem"><item>list_item_0</item><item>list_item_1</item><item>list_item_2</item><item>list_item_3</item><item>list_item_4</item></string-array>

ListViewActivity.java

publicclassListViewActivity2extendsListActivity{//在strings.xml文件中创建<string-arrayname="array_listitem">privateString[]listItems;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){//TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);//this.setContentView(R.layout.activity_listview);不需要使用layout//获取数据源listItems=this.getResources().getStringArray(R.array.array_listitem);//获取ListViewListViewlistView=this.getListView();//设置ListView为多选模式listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);//ListView设置适配器,适配器中需要数据源this.setListAdapter(newArrayAdapter<String>(this,android.R.layout.simple_list_item_checked,listItems));}@OverrideprotectedvoidonListItemClick(ListViewlistView,Viewv,intposition,longid){//ListItem被点击时事件触发Toast.makeText(this,listItems[position],Toast.LENGTH_SHORT).show();}}

2)使用xml+SimpleAdapter 方式

layout.xml

<ListViewandroid:id="@+id/list_comp"android:layout_width="fill_parent"android:layout_height="wrap_content"/>

listview.xml

<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutandroid:id="@+id/RelativeLayout01"android:layout_width="fill_parent"xmlns:android="http://schemas.android.com/apk/res/android"android:layout_height="wrap_content"><TextViewandroid:layout_height="wrap_content"android:layout_width="match_parent"android:textSize="20sp"android:id="@+id/title"/><TextViewandroid:layout_height="wrap_content"android:layout_width="match_parent"android:textSize="10sp"android:layout_below="@+id/title"android:id="@+id/content"/></RelativeLayout>

ListViewActivity

publicclassListViewActivityextendsActivity{//数据源privateArrayList<HashMap<String,Object>>listItem;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){//TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);//设置布局文件this.setContentView(R.layout.activity_listview);//获取布局文件中设置的ListViewListViewlistView=(ListView)findViewById(R.id.list_comp);//设置多选模式listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);//创建数据源listItem=newArrayList<HashMap<String,Object>>();for(inti=0;i<10;i++){HashMap<String,Object>map=newHashMap<String,Object>();map.put("title","title_"+i);map.put("content","content_"+i);listItem.add(map);}//创建适配器,第二个参数是数据源,第三个参数是xml模板、第四个与第5个参数是数据源与xml对应项配置SimpleAdapterlistItemAdapter=newSimpleAdapter(this,listItem,R.layout.listview,newString[]{"title","content"},newint[]{R.id.title,R.id.content});//设置适配器listView.setAdapter(listItemAdapter);//注册点击事件listView.setOnItemClickListener(newItemClickImpl());}classItemClickImplimplementsOnItemClickListener{@OverridepublicvoidonItemClick(AdapterView<?>adapter,Viewarg1,intarg2,longarg3){//ListItem被点击时事件被触发Toast.makeText(ListViewActivity.this,listItem.get(arg2).get("title").toString()+listItem.get(arg2).get("content"),Toast.LENGTH_SHORT).show();}}}


更多相关文章

  1. 如何隐藏APP名字
  2. Android(安卓)8.0 高通代码预制apk可卸载,恢复出厂设置apk可恢复
  3. Android踩坑日记:FloatingActionButton的设置大小问题
  4. ListView改变里面TextView的字体颜色
  5. android中设置Animation 动画效果
  6. Android(安卓)Phone 类的详细 分析 各个类的功能
  7. EditView不可编辑状态和可编辑状态动态切换 及 EditView的其它特
  8. android mtk平台内置apk,可卸载恢复出厂设置还在
  9. Android(安卓)UI系列-----Dialog对话框

随机推荐

  1. Android中Intent传递对象的两种方法:Seri
  2. Android P Camera2相机简单解析(二、拍照)
  3. android 2.2 完全 退出 ---程序代码
  4. [android]简单方法记载 在adapter中异步
  5. android中bitmap和drawable互相转换
  6. android倒计时控件示例
  7. android 版本跟新之打开下载好的
  8. error: resource android:attr/rippColor
  9. Android调用相机拍照并返回路径和调用系
  10. Android之百度推送高级篇之消息【原创】