如何在Android中禁用GridView滚动?

pja*_*ama 36 android gridview

我正在使用GridView作为游戏板.最近一些用户遇到了垂直滚动的问题(在运行2.2的三星Galaxy/Vibrant手机上) - 我的Nexus One上没有出现此错误.

一位用户制作了一些问题的截图.

我怎么能锁定GridView?有没有办法禁用滚动?

小智 92

尝试添加或覆盖setOnTouchListenerGridView,那么在onTouch方法,你可以使用这样的代码,使gridView不滚动:

gridView.setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        return event.getAction() == MotionEvent.ACTION_MOVE;
    }

});
Run Code Online (Sandbox Code Playgroud)

  • 这是一个正确的解决方案,应该接受问题的答案. (8认同)
  • 它还停止onItemClick触发GridView.怎么预防这个? (3认同)

Rom*_*Guy 10

您可以尝试setEnabled(false),尽管它可能有其他副作用.GridView实际上并不意味着以您使用它的方式使用.您应该创建自己的自定义视图或布局.您也可以使用TableLayout.