【发布时间】:2012-02-13 01:26:11
【问题描述】:
我的应用程序有一个 GridView。它已经有一个 onItemClickListener 和 onItemLongClickListener。我现在想禁用 GridView 中的滚动。在https://stackoverflow.com/a/6496632/985025 的帮助下,我添加了一个 onTouchListener,如下所示:
mGridView.setOnItemClickListener(this);
mGridView.setOnItemLongClickListener(this);
mGridView.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
if(arg1.getAction() == MotionEvent.ACTION_MOVE)
return true;
else
return false;
}
});
我的预期行为是,当我尝试在 GridView 中滚动时,应该忽略该事件。但是,即使在 onTouch 中返回 true 后,我也会在 onItemClick 中收到一个事件。 如果在 GridView 上滚动,有没有办法避免 onItemClick?
【问题讨论】:
-
你可以在这里查看。 view,也许它的工作