ListView物件
表單,用於顯示複數以上的物件。
常見的應用例如"檔案管理","系統功能選項"。
一般的做法
// layout裡為一個TextView
adapter = new ArrayAdapter<String>(this, R.layout.device_name);
ListView lv= (ListView) findViewById(R.id.list);
// 此行程式碼會將list的資料更新
lv.setAdapter(adapter);
lv.setOnItemClickListener(select);
// 在ListView裡加入項目
adapter.add("item1");
adapter.add("item2");
adapter.add("item3");
........
private OnItemClickListener select= new OnItemClickListener() {
public void onItemClick(AdapterView<?> av, View v, int pos, long arg3) {
}
};
另一種方法,用SimpleAdapter
public void onCreate(Bundle savedInstanceState) {
..........
listview = (ListView)findViewById(R.id.list);
listview.setOnItemClickListener(listen_click);
update_list();
...........
}
private void update_list() {
SimpleAdapter adapter = new SimpleAdapter(this, getData(), R.layout.listitem,
new String[]{"info","img"}, new int[]{R.id.info,R.id.img});
listview.setAdapter(adapter);
}
private List<Map<String, Object>> getData() {
int i;
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map;
map = new HashMap<String, Object>();
map.put("info", "name");
map.put("img", R.drawable.back);
list.add(map);
return list;
}
private OnItemClickListener listen_click = new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View v, int position, long id) {
}
};
沒有留言:
張貼留言