Android setOnItemClickListener

ReN*_*eNa 2 android android-listview

我无法启动" 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(); 

        }
    });
Run Code Online (Sandbox Code Playgroud)

在setListAdapter之后,我的调试器转到" lv.setOnItemClickListener "但是然后没有进入循环并移出.

我想让链接Clickable友好帮助.

bal*_*azs 8

最可能的原因是ListView项包含可聚焦或可单击的视图.如果视图包含可聚焦或可单击的项,则不会调用OnItemCLickListener.(相反,将调用可点击的View自己的点击处理程序).

点击这里查看更多信息.看到我以前的答案在这里或找到更多的信息在这里.

尝试使用非常简单的ListItem布局 - 它应该工作.


Ant*_*nko 6

也许你忘了在公开的void onItemClick之前写@Override?

Adapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
        }
});
Run Code Online (Sandbox Code Playgroud)