在某些情况下禁用GridView滚动

时间:2013-04-25 07:35:00

标签: android gridview scroll

我有GridView我在GridView上加载预览图片。显示我的预览时,我想禁用滚动。我的代码看起来像这样:

grid.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_UP) {
            preview.setVisibility(View.GONE);
            return true;
        } else if(event.getAction() == MotionEvent.ACTION_MOVE) {
            Log.d("test", "isShown: " + preview.isShown());
            return preview.isShown();
        }
        return false;
    }
});

非常简单,但这并不完美。通过使用事件来禁用滚动,但似乎第一个移动事件每次都在GridView上执行,并且它只移动一些像素。

让我感到困惑的是,在将isShown: false设置为可见之后,我在logcat中没有收到preview条消息。到目前为止,这也没有明显的反应条件。这意味着我的听众所能获得的所有事件都会按预期返回true

我读到了这几乎是同意和更多:

但有关如何禁用它的重点。我把自己弄清楚了。

0 个答案:

没有答案