android - 如何在 GridView 中禁用滚动?

标签 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?

最佳答案

使用表格布局。完全达到你想要的。 GridView 在您的所有回收用例中都是 super 大材小用。

关于android - 如何在 GridView 中禁用滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8908228/

相关文章:

java - 在应用程序的内部存储中提取 Zip 文件 - Android?

javascript - 更新 formview 后,我的按钮如何关闭窗口并刷新父窗口?

android - 在 Android 7.0 中触摸时微调器滚动到默认选择

java - Android Studio新安装Gradle错误

android - Android 上的 MediaStore 播放列表

android - 在线性布局中制作一个框架

c# - 如何使用 asp.net C# 从 GridView 中的 TemplateField 获取值?

c# - 更新面板和 GridView

javascript - 如何使用 Selenium IDE 识别滚动条位置

javascript - 60fps : How to use requestAnimationFrame the right way?