【发布时间】:2011-05-17 16:02:55
【问题描述】:
我正在开发一个杂货清单应用程序来学习 android,但我似乎无法弄清楚如何让 ListView 中的项目触发我在 listview 上设置的 ItemClickListener 中的 onClick 事件。从 onResume() 方法调用 renderList() 方法,该方法从数据库中获取杂货列表并填充 ListView。为什么这个实现不起作用;当我点击 list_item 时,toast 不显示?
list_item 是一个 CheckBox 视图。
@Override
protected void onResume() {
super.onResume();
renderList();
}
protected void renderList(){
try {
dbHelper = new DbHelper(getApplicationContext());
db = dbHelper.getReadableDatabase();
cursor = db.query(DbHelper.TABLE, null, null, null, null, null, DbHelper.C_ID + " DESC");
startManagingCursor(cursor);
adapter = new SimpleCursorAdapter(this, R.layout.list_item, cursor, FROM, TO);
groceriesList = (ListView)findViewById(R.id.listView1);
groceriesList.setAdapter(adapter);
groceriesList.setOnItemClickListener(clickListen);
} catch (Exception e) {
Log.d(TAG, "RenderList Error: ",e);
}
}
private OnItemClickListener clickListen = new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long arg3) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "pos: "+position, Toast.LENGTH_SHORT).show();
}
};
【问题讨论】:
标签: android view listener adapter