如何在GridView中禁用滚动?

时间:2012-01-18 09:59:45

标签: android gridview scroll

我的应用程序有一个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?

2 个答案:

答案 0 :(得分:0)

使用TableLayout。实现你想要的。在您的使用案例中,GridView是一种超级难以克服的功能。

答案 1 :(得分:0)

这里的人们已经使用ScrollView吞噬了GridView并且这样做了,我希望它可以帮助那些遇到这个问题的人。