Android ListView

在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
}

相關詞條

熱門詞條

聯絡我們