5

关于禁止listview滑动的问题

我的项目里,想要禁止listview滑动,百度了下,网上有人建议用以下方法,即拦截onTouch中的ACTION_MOVE。程序如下:
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
return true;

                default:
                    break;
            }
            return false;
        }      

但我试了下,手在listview上乱滑的时候,listview偶尔还是会滑动。于是自己猜想,可能拦截的不全,所以又把ACTION_UP和ACTION_DOWN也拦截了,程序变为如下:
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
return true;

                default:
                    break;
            }
            return false;
        }

这下,无论手怎么在listview上来回划, listview也不会滑动了。
问题是貌似解决了,可是不太明白,为什么只拦截ACTION_MOVE不管用呢?我的理解,ACTION_UP和ACTION_DOWN应该只是对屏幕的按下与松开,怎么还会有滑动效果呢?
请老师指教,多谢!

查看全部
u014717505
aaaffaewrerewrwer
2018/06/29 09:17
  • list
  • 点赞
  • 收藏
  • 回答
    私信

3个回复