在android開發中ListView是比較常用的組件,它以列表的形式展示具體內容,並且能夠根據數據的長度自適應顯示。
基本介紹
- 外文名:Android ListView
- 定義:它以列表的形式展示具體內容,並且能夠根據數據的長度自適應顯示
1 | packagecom.ray.test; |
2 | importjava.util.ArrayList; |
3 | importjava.util.HashMap; |
4 | importandroid.app.Activity; |
5 | importandroid.os.Bundle; |
6 | importandroid.view.ContextMenu; |
7 | importandroid.view.MenuItem; |
8 | importandroid.view.View; |
9 | importandroid.view.ContextMenu.ContextMenuInfo; |
10 | importandroid.view.View.OnCreateContextMenuListener; |
11 | importandroid.widget.AdapterView; |
12 | importandroid.widget.ListView; |
13 | importandroid.widget.SimpleAdapter; |
14 | importandroid.widget.AdapterView.OnItemClickListener; |
15 | publicclassTestListViewextendsActivity{ |
16 | @Override |
17 | publicvoidonCreate(BundlesavedInstanceState){ |
18 | super.onCreate(savedInstanceState); |
19 | setContentView(R.layout.main); |
20 | //綁定Layout裡面的ListView |
21 | ListViewlist=(ListView)findViewById(R.id.ListView01); |
22 | //生成動態數組,加入數據 |
23 | ArrayList<HashMap<String,Object>>listItem=newArrayList<HashMap<String,Object>>(); |
24 | for(inti=0;i<10;i++) |
25 | { |
26 | HashMap<String,Object>map=newHashMap<String,Object>(); |
27 | map.put("ItemImage",R.drawable.checked);//圖像資源的ID |
28 | map.put("ItemTitle","Level"+i); |
29 | map.put("ItemText","Finishedin1Min54Secs,70Moves!"); |
30 | listItem.add(map); |
31 | } |
32 | //生成適配器的Item和動態數組對應的元素 |
33 | SimpleAdapterlistItemAdapter=newSimpleAdapter(this,listItem,//數據源 |
34 | R.layout.list_items,//ListItem的XML實現 |
35 | //動態數組與ImageItem對應的子項 |
36 | newString[]{"ItemImage","ItemTitle","ItemText"}, |
37 | //ImageItem的XML檔案裡面的一個ImageView,兩個TextViewID |
38 | newint[]{R.id.ItemImage,R.id.ItemTitle,R.id.ItemText} |
39 | ); |
40 | //添加並且顯示 |
41 | list.setAdapter(listItemAdapter); |
42 | //添加點擊 |
43 | list.setOnItemClickListener(newOnItemClickListener(){ |
44 | @Override |
45 | publicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2, |
46 | longarg3){ |
47 | setTitle("點擊第"+arg2+"個項目"); |
48 | } |
49 | }); |
50 | //添加長按點擊 |
51 | list.setOnCreateContextMenuListener(newOnCreateContextMenuListener(){ |
52 | @Override |
53 | publicvoidonCreateContextMenu(ContextMenumenu,Viewv,ContextMenuInfomenuInfo){ |
54 | menu.setHeaderTitle("長按選單-ContextMenu"); |
55 | menu.add(0,0,0,"彈出長按選單0"); |
56 | menu.add(0,1,0,"彈出長按選單1"); |
57 | } |
58 | }); |
59 | } |
60 | //長按選單回響函式 |
61 | @Override |
62 | publicbooleanonContextItemSelected(MenuItemitem){ |
63 | setTitle("點擊了長按選單裡面的第"+item.getItemId()+"個項目"); |
64 | returnsuper.onContextItemSelected(item); |
65 | } |
66 | } |
