Android手机开发:ListView的使用
Android手机开发:ListView的使用
1. 简单的列表
- 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);
- }
- }
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);
- }
- }
- <?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>
- 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());
- }
- }
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>
评论暂时关闭