我有一个 ListView
,在其中使用了 onItemClickListener
和 onLongItemClickListener
来提供不同的选项。在 jellybean
中它运行良好。但是在 Nexus5
上,当我长按 ListView
时,将同时触发 onItemClickListener
和 onLongItemClickListener
。为什么会这样?有人知道吗?
我有一个 ListView
,在其中使用了 onItemClickListener
和 onLongItemClickListener
来提供不同的选项。在 jellybean
中它运行良好。但是在 Nexus5
上,当我长按 ListView
时,将同时触发 onItemClickListener
和 onLongItemClickListener
。为什么会这样?有人知道吗?
您应该将 OnItemLongClickListener
的返回值设置为 true
private AdapterView.OnItemLongClickListener itemLongClickListener = new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
//... Do stuff
return true;
}
};
这就是事件告知其父级单击事件已被处理的方式。如果设置为false,则OnItemClickListener
也将被触发,同时调用其监听方法。