ListView触摸事件和Item点击事件冲突解决方法

遇到过类似问题的人一看题目就应该知道我所说的问题是什么。但还是举个例子:
一个页面,可下拉刷新,有listview。当你触摸listview去下拉的时候,以松手,哎呀?!怎么自己跳item点击了。下面说一下解决办法。

这种问题一般是我们在重写ListView的onTouchEvent方法时:

@Override
  public boolean onTouchEvent(MotionEvent ev) {
    switch (ev.getAction()) {

      case MotionEvent.ACTION_DOWN :
       // ...
        break;

      case MotionEvent.ACTION_MOVE :
        if (...) {
            .
            .
            .
          return true;
        }
        break;

      case MotionEvent.ACTION_UP :
            // ...
        break;

    }

    return super.onTouchEvent(ev);
  }

问题就出在我们的逻辑处理中 直接return true了,没有执行

super.onTouchEvent(ev);

这个方法里处理了触摸和点击的冲突问题。

所以我们只需要在return true前加上:

super.onTouchEvent(ev);

就OK啦~

有问题欢迎提出

posted @ 2016-03-15 19:10  Z漫步  阅读(451)  评论(0编辑  收藏  举报