我无法启动“ OnItemClickListener ”。
您可以看到我的代码段
ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.main, new String[] { "title"}, new int[] { R.id.item_title});
setListAdapter(adapter);
final ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
@SuppressWarnings("unchecked")
HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position);
Toast.makeText(TopNewsActivity.this, "ID '" + o.get("id") + "' was clicked.", Toast.LENGTH_LONG).show();
}
});
在setListAdapter后,我的调试器进入“ lv.setOnItemClickListener ”,但是没有进入循环并移出。
我想点击链接Clickable善意帮助。
答案 0 :(得分:8)
最可能的原因是您的ListView项目包含可聚焦或可点击的视图。如果视图包含可聚焦或可单击的项,则不会调用OnItemCLickListener。 (相反,将调用可点击的View自己的点击处理程序。)
点击此处获取更多信息。 请参阅我之前的回答here或查找更多信息here。
使用非常简单的ListItem布局尝试它 - 它应该可以工作。
答案 1 :(得分:6)
也许你忘了在public void onItemClick之前写@Override? p>
Adapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
}
});
答案 2 :(得分:0)