【发布时间】:2016-03-05 10:45:36
【问题描述】:
我的应用要求是处理网格视图上的点击事件和长按事件。
我都尝试过,但不能只工作长按事件工作。
如果我删除长按事件然后单击事件工作。
但是当我尝试同时放置两个事件时,只有长按事件才起作用。
那么我如何在网格视图 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;
}
【问题讨论】:
-
return true 将阻止点击事件继续进行。然后它将只执行 OnItemLongClickListener..
-
我尝试返回 false 但不起作用
-
我在我创建的虚拟项目中使用了您的代码,它似乎工作正常。问题出在其他地方。可能在 xml 中。
-
gridview 适配器有一个 imageview 和 textview,所以任何标签都添加到 imageview 或 textview 中
-
rakex thnxs 试试我的代码现在工作正常,我发现适配器中有一些愚蠢的错误。
标签: android gridview click long-press