我想
问一下如何在列表视图下切换和选择一个事件。我下面的代码正在工作。但是当 OnItemLongClick 触发时,OnItemClick 也会触发。如何切换仅检测到一个事件的事件:
lstResult.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
// TODO Auto-generated method stub
//showToast(arg0.getItemIdAtPosition(position) + "");
String str = searchWhere(lstResult.getItemAtPosition(position) + "");
String word = lstResult.getItemAtPosition(position).toString();
showDialog(word,str);
}
});
lstResult.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
// TODO Auto-generated method stub
showToast(lstResult.getItemAtPosition(position) + "");
return false;
}
});
在 OnItemLongClick 末尾返回布尔值 true。
根据OnItemLongClickListener的文档:
返回 如果回调消耗了长按,则为 true,否则为 false。
如果触发长按,您应该返回true
。
当你在OnItemLongClickListener上返回false时,这不会是触发的,所以你可以定义一个布尔变量来在你的监听器之间切换