ListView的使用方法
ListView是Android軟件開發中非常重要組件之一,基本上是個軟件基本都會使用ListView ,今天我通過一個demo來教大家怎麼樣使用ListView組件 繪製出漂亮的列表,說道
ListView就不得不說Adapter適配器,因爲只有通過Adapter纔可以把列表中的數據映射到ListView中。
在開發中最Adapter 一共可以分爲
ArrayAdapter<T>,
BaseAdapter,
CursorAdapter,
HeaderViewListAdapter,
ResourceCursorAdapter,
SimpleAdapter,
SimpleCursorAdapter,
WrapperListAdapter
軟件開發中最常用的有ArrayAdapter<T>, BaseAdapter, SimpleAdapter,今天我用一段代碼向大家詮釋如何使用ListView控件。
1.簡單的ListView
在List列表中如果不存在過於複雜的東西 我們可以直接去new ArrayAdapter() 來繪製列表,無須繼承ArrayAdapter,重寫它的方法。但是如果列表中過於複雜的話就需要使用自定義佈局來實現List列表。
實現代碼:
public class SimpleList extends ListActivity {
1 private String[] mListStr = {"姓名:亞嵌教育","性別:男","年齡:25","居住地:北京","郵箱:[email protected]"};
2 ListView mListView = null;
3 @Override
4 protected void onCreate(Bundle savedInstanceState) {
5 mListView = getListView();
6 setListAdapter(new ArrayAdapter<String>(this,
7 android.R.layout.simple_list_item_1, mListStr));
8 mListView.setOnItemClickListener(new OnItemClickListener() {
9 @Override
10 public void onItemClick(AdapterView<?> adapterView, View view, int position,
11 long id) {
12 Toast.makeText(SimpleList.this,"您選擇了" + mListStr[position], Toast.LENGTH_LONG).show();
13 }
14 });
15
16 super.onCreate(savedInstanceState);
17 }
18 }
2.帶標題的ListView列表
使用 simpleAdapter 需要注意的是須要用Map<String,Object> item 來保存列表中每一項的顯示的title與text , new SimpleAdapter的時候將map中的數據寫入 ,程序就會幫我們繪製列表了。
public class TitleList extends ListActivity {
19 private String[] mListTitle = { "姓名", "性別", "年齡", "居住地","郵箱"};
20 private String[] mListStr = { "亞嵌教育", "男", "25", "北京",
21 "[email protected] " };
22 ListView mListView = null;
23 ArrayList<Map<String,Object>> mData= new ArrayList<Map<String,Object>>();;
24
25 @Override
26 protected void onCreate(Bundle savedInstanceState) {
27 mListView = getListView();
28
29 int lengh = mListTitle.length;
30 for(int i =0; i < lengh; i++) {
31 Map<String,Object> item = new HashMap<String,Object>();
32 item.put("title", mListTitle[i]);
33 item.put("text", mListStr[i]);
34 mData.add(item);
35 }
36 SimpleAdapter adapter = new SimpleAdapter(this,mData,android.R.layout.simple_list_item_2,
37 new String[]{"title","text"},new int[]{android.R.id.text1,android.R.id.text2});
38 setListAdapter(adapter);
39 mListView.setOnItemClickListener(new OnItemClickListener() {
40 @Override
41 public void onItemClick(AdapterView<?> adapterView, View view, int position,
42 long id) {
43 Toast.makeText(TitleList.this,"您選擇了標題:" + mListTitle[position] + "內容:"+mListStr[position], Toast.LENGTH_LONG).show();
44 }
45 });
46 super.onCreate(savedInstanceState);
47 }
48 }