Android手机开发:ListView的使用
2011-08-09 20:04
495 查看
1. 简单的列表
setAdapter函数将listView和ArrayAdapter进行绑定,listView会把ArrayAdapter中的数据显示出来。
2. 每一项可以包含多个View的列表
R.layout.list_item文件内容如下:
3. 直接继承ListActivity类的列表
上面的data数组,存放要显示的数据。
R.layout.list3内容如下:
import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; public class ActivityList1 extends Activity { ListView listView; private String[] data = { "Android应用专业开发社区:eoeAndroid.com", "eoeAndroid出品软件如下:", "eoeInstaller", "eoeDouban", "eoeWhere", "eoeInfoAssistant", "eoeDakarGame","eoeTrack" }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); listView = new ListView(this); listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data)); listView.setItemsCanFocus(true); listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); setContentView(listView); } }
setAdapter函数将listView和ArrayAdapter进行绑定,listView会把ArrayAdapter中的数据显示出来。
2. 每一项可以包含多个View的列表
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.AdapterView.OnItemClickListener; public class ActivityList2 extends Activity { private List<Map<String, Object>> data; private ListView listView = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); PrepareData(); listView = new ListView(this); // 利用系统的layout显示一项 // SimpleAdapter adapter = new SimpleAdapter(this, data, // android.R.layout.simple_list_item_1, new String[] { "姓名" }, // new int[] { android.R.id.text1 }); // 利用系统的layout显示两项 // SimpleAdapter adapter = new SimpleAdapter(this, data, // android.R.layout.simple_list_item_2, new String[] { "姓名","性别" }, // new int[] { android.R.id.text1 , android.R.id.text2}); // 利用自己的layout来进行显示两项 SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.list_item, new String[] { "姓名", "性别" }, new int[] { R.id.mview1, R.id.mview2 }); listView.setAdapter(adapter); setContentView(listView); OnItemClickListener listener = new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { setTitle(parent.getItemAtPosition(position).toString()); } }; listView.setOnItemClickListener(listener); } private void PrepareData() { data = new ArrayList<Map<String, Object>>(); Map<String, Object> item; item = new HashMap<String, Object>(); item.put("姓名", "张三小朋友"); item.put("性别", "男"); data.add(item); item = new HashMap<String, Object>(); item.put("姓名", "王五同学"); item.put("性别", "男"); data.add(item); item = new HashMap<String, Object>(); item.put("姓名", "小李师傅"); item.put("性别", "女"); data.add(item); } }
R.layout.list_item文件内容如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/mview1" android:layout_width="100px" android:layout_height="wrap_content" /> <TextView android:id="@+id/mview2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
3. 直接继承ListActivity类的列表
import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; public class ActivityList3 extends ListActivity { private String[] data ={}; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.list3); setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data)); } protected void onListItemClick(ListView listView, View v, int position, long id) { super.onListItemClick(listView, v, position, id); setTitle(listView.getItemAtPosition(position).toString()); } }
上面的data数组,存放要显示的数据。
R.layout.list3内容如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ListView android:id="@id/android:list" android:layout_width="fill_parent" android:layout_height="fill_parent"/> <TextView android:id="@id/android:empty" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="对不起,没有数据显示"/> </LinearLayout>
相关文章推荐
- Android开发之listView使用(手机应用列表显示)
- 实例讲解Android app开发中ListView的基本使用及优化
- 【Android开发新手的学习笔记】使用LruCache对ListView进行优化
- android开发中ListView与Adapter使用要点介绍
- 开发中,android手机WIFI无法使用,无SIM卡故障解决
- Android开发之ExpandableListView的使用(一目了然版)
- Android开发之ExpandableListView扩展(BaseExpandableListAdapter的使用)(完整版)
- android开发中ListView与CheckBox的混合使用
- Android开发:在ListView中使用RadioGroup时出现混乱选中现象
- 使用ADF Mobile开发Android手机On-Device应用
- Android移动开发 ListView使用BaseAdapter与ListView的优化,内存优化处理(转载)
- android开发教程之listview使用方法
- Android ListView的使用优化以及获取手机所有应用程序
- Android初级开发(八)——手机多媒体—音频和视频的使用
- Android开发之ListView-BaseAdapter的使用
- 使用SoundTouch开源库开发android手机上的音乐bpm检测应用
- 【Android 开发】:UI控件之 ListView 列表控件的使用
- Android手机UI设计---”知乎“界面外观模仿篇(六)---在Fragment里使用Gallery结合listview实现listview横滑
- android开发中listview的使用
- 【Android开发】自定义ListView,使用通用适配器,并实现ListView上的每一项和每一项上的按钮等控件同时监听