我的应用程序有一个 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?
最佳答案
使用表格布局。完全达到你想要的。 GridView 在您的所有回收用例中都是 super 大材小用。
关于android - 如何在 GridView 中禁用滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8908228/