本文将介紹給ListView添加點選事件的三種方式:
1、第一種方式。在BaseAdapter的基礎上添加點選事件
personLV.setOnItemClickListener(new MyOnItemClickListener());
private class MyOnItemClickListener implements OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Person p = (Person) parent.getItemAtPosition(position);
Toast.makeText(getApplicationContext(), p.getName(), Toast.LENGTH_SHORT).show();
}
}
2、第二種方式。在SimpleAdapter的基礎上添加點選事件
personLV.setOnItemClickListener(new MyOnItemClickListener());
private class MyOnItemClickListener implements OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Map<String,Object> map = (Map<String, Object>) parent.getItemAtPosition(position);
Toast.makeText(getApplicationContext(), "我的月薪是:"+ map.get("balance"), Toast.LENGTH_SHORT).show();
}
}
3、第三種方式。在SimpleCursorAdapter的基礎上添加點選事件
personLV.setOnItemClickListener(new MyOnItemClickListener());
private class MyOnItemClickListener implements OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Cursor c = (Cursor) parent.getItemAtPosition(position);
Toast.makeText(getApplicationContext(), c.getString(1) + "是我們的女神", Toast.LENGTH_SHORT).show();
}
}
小結:通過以上三種給ListView添加點選事件的方式,我們可以看到。他們最大的差别就在于parent.getItemAtPosition(position)的傳回值
是不一樣的。