我有一个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
在设置为 visble 后,我在 logcat 中没有收到消息preview
。到目前为止,这也不是明显的反应条件。这意味着我的听众咳嗽的所有事件都true
按预期返回。
我读到这几乎是重复的,还有更多:
但是有一点关于如何禁用它。这是我自己想出来的。