我的应用程序要求是处理网格视图上的单击事件和长按事件。
我已尝试过这两种情况,但不能只使用长时间按下的事件工作。
如果我删除长按事件,则单击事件工作。
但是,当我尝试将这两个事件放入时,只有长时间按下事件才能工作。
所以如何在网格视图android上实现这两个事件。
我搜索了许多东西,但没有得到完美的解决方案,任何人都有解决方案或想法然后帮助我。
提前致谢。
代码: -
gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> av, View v, int pos, long id) {
onGridItemClick(v,pos,id);
}
});
protected void onGridItemClick(View v, int pos, long id) {
Log.i(TAG, "onItemClick id=" + id);
}
gv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) {
return onLongGridItemClick(v,pos,id);
}
});
protected boolean onLongGridItemClick(View v, int pos, long id) {
Log.i(TAG, "onLongGridItemClick id=" + id);
return true;
}
答案 0 :(得分:0)
您应该在长按一下监听器中返回false。这种方式不会消耗事件并将其传递给项目单击侦听器。
protected boolean onLongGridItemClick(View v, int pos, long id) {
Log.i(TAG, "onLongGridItemClick id=" + id);
return false;
}