一、ArrayAdapter的使用
private ListView lv;
private List<String> list;
private ArrayAdapter aa;
lv=new ListView(this);//实例化列表
list=new ArrayList<String>();
list.add("first");
list.add("second");
list.add("third");
aa=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
lv.setAdapter(aa);
this.setContentView(lv);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//加上当前的Activity,this,别忘了show()
Toast.makeText(MainActivity.this, "你当前选中的下标为:"+arg2, Toast.LENGTH_SHORT).show();
}
注意:android.R.layout.simple_list_item_1为SDK系统自带的,不需要自己创建布局文件。除此之外还有android.R.layout.simple.expandable_list_item_1
二、SimpleAdapter
public class MainActivity extends ListActivity {
private SimpleAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
adapter = new SimpleAdapter(this,getData(),R.layout.main,
new String[]{"title","info","img"},
new int[]{R.id.title,R.id.info,R.id.img});
setListAdapter(adapter);
}
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("title", "G1");//key 对应着String[]的数据
map.put("info", "google 1");
map.put("img", R.drawable.ic_launcher);
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "G2");
map.put("info", "google 2");
map.put("img", R.drawable.ic_launcher);
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "G3");
map.put("info", "google 3");
map.put("img", R.drawable.ic_launcher);
list.add(map);
return list;
}
}