我的应用程序有一个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?
答案 0 :(得分:0)
使用TableLayout。实现你想要的。在您的使用案例中,GridView是一种超级难以克服的功能。
答案 1 :(得分:0)
这里的人们已经使用ScrollView吞噬了GridView并且这样做了,我希望它可以帮助那些遇到这个问题的人。