sonwfly 2016-02-18 07:33 采纳率: 0%
浏览 2700

listView下拉刷新时,为什么同时触发点击事件,如何让下拉时不触发点击事件

/**
* Touch事件
*/
@Override
public boolean onTouchEvent(MotionEvent ev) {
Log.e("666","555");

    switch (ev.getAction()) {
        case MotionEvent.ACTION_DOWN:
            //按下时Y坐标
            // 正在刷新不能移动
            if (currentState == REFRESH) {
                return  true;
            }
                downY = (int) ev.getY();
            Log.e("55555666","555");
            break;
        case MotionEvent.ACTION_MOVE:

            int deltaY = (int) (ev.getY() - downY);

            if(deltaY>0){
                footerView.setPadding(0, -footerViewHeight, 0, 0);
            }

            int paddingTop = -headerViewHeight + deltaY;

            if (paddingTop > -headerViewHeight
                    && getFirstVisiblePosition() == 0) {
                headerView.setPadding(0, paddingTop, 0, 0);

                if (paddingTop > 0 && currentState == PULL) {   //currentState当前状态下拉刷新状态
                    // 进入松开刷新状态
                    currentState = RELEASE;// RELEASE松开刷新状态
                    refreshHeaderView();

                } else if (paddingTop <= 0 && currentState == RELEASE) {
                    // 进入刷新状态
                    currentState = PULL;
                    refreshHeaderView();
                }

                return true;// 拦截TouchMove,不让listView处理该次move事件;会造成listView无法滑动
            }
            break;

        case MotionEvent.ACTION_UP:
            if (currentState == PULL) {
                headerView.setPadding(0, -headerViewHeight, 0, 0);
            } else if (currentState == RELEASE) {
                headerView.setPadding(0, 0, 0, 0);
                currentState = REFRESH;
                refreshHeaderView();
                if (listener != null) {
                    listener.onPullrefresh();
                }

            }

            break;
        default:
            break;
    }
    isRecored =true;
    return super.onTouchEvent(ev);

}
  • 写回答

3条回答

  • devmiao 2016-02-18 13:56
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多