我真的很沮丧,因为我今天已经尝试了4个小时,但我找不到解决方案。出于某种原因,我的长时间点击监听器有时无法检测到!
listview.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int pos, long id) {
Toast.makeText(MainActivity.this, "Long click", Toast.LENGTH_SHORT).show();
contactArrayList.remove(pos);
arrayAdapter.notifyDataSetChanged();
return true;
}
});
这个简单的代码只是使用适配器从我的列表和我的数组列表中删除一个项目。但是,有时候, onItemLongClickListener甚至都没有被调用,而吐司甚至都没有显示!! 我知道android正在检测它,因为每当我长时间点击我的日志时我都收到此消息猫:
/ViewRootImpl: ViewRoot's Touch Event : ACTION_UP
那为什么它有时才起作用?我的代码有问题,或者这本身就是android本身的问题?如果是android的问题,我该如何解决?
它第一次运行,但在退出我的应用程序后,旋转屏幕等,长按停止检测到。我现在已经坚持了近8个小时,我真的非常需要你的帮助。
答案 0 :(得分:0)
可以尝试使用View.OnItemLongClickListener()而不是AdapterView,并将OnItemLongClick()中的参数更改为View。
希望这会有所帮助......
答案 1 :(得分:0)