如何处理gridview android上的事件点击和长按?

时间:2016-03-05 10:45:36

标签: android gridview click long-press

我的应用程序要求是处理网格视图上的单击事件和长按事件。

我已尝试过这两种情况,但不能只使用长时间按下的事件工作。

如果我删除长按事件,则单击事件工作。

但是,当我尝试将这两个事件放入时,只有长时间按下事件才能工作。

所以如何在网格视图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;
}

1 个答案:

答案 0 :(得分:0)

您应该在长按一下监听器中返回false。这种方式不会消耗事件并将其传递给项目单击侦听器。

protected boolean onLongGridItemClick(View v, int pos, long id) {
    Log.i(TAG, "onLongGridItemClick id=" + id);
    return false;
}