Android(安卓)第十三课——ListView ListActivity SimpleAdapter
16lz
2021-01-26
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();}}}
更多相关文章
- 如何隐藏APP名字
- Android(安卓)8.0 高通代码预制apk可卸载,恢复出厂设置apk可恢复
- Android踩坑日记:FloatingActionButton的设置大小问题
- ListView改变里面TextView的字体颜色
- android中设置Animation 动画效果
- Android(安卓)Phone 类的详细 分析 各个类的功能
- EditView不可编辑状态和可编辑状态动态切换 及 EditView的其它特
- android mtk平台内置apk,可卸载恢复出厂设置还在
- Android(安卓)UI系列-----Dialog对话框