2 helf19920825 helf19920825 于 2016.01.26 13:42 提问

Android中用首字母排序的listview中的item的滑动监听与listview的上下滑动冲突 5C

大神帮看看,我现在listview的item中我写了一个OnTouchListener,但是发现横向滑动的时候老是会触发listview的上下滑动事件,导致横向滑动很难滑出来,但是滑出来第一次后,后面就很容易划出来了!大神帮忙看看!!!感谢!
让人很是苦恼,这个该怎么处理呢?查过资料说改返回值为false,改了都滑不出来!

   /**
     * 侧滑显示删除按钮
     */
    private View.OnTouchListener convertTouch = new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {

            int position = (Integer) v.getTag();
            if (position != lastPosition) {
                notifyDataSetChanged();
                lastPosition = position;
            }
            offsetX = operation.getWidth();
            switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN: {
                    x = event.getRawX();
                }
                break;
                case MotionEvent.ACTION_UP: {
                    ux = event.getRawX();
                    if ((x - ux) > 60) {
                        v.setX(-offsetX);
                    } else if (v.getX() == 0) {
                        String name = list.get(position).getName();
                        String userid = list.get(position).getUserId();
                        Intent intent = new Intent(mActivity, AddressContactDetailsActivity.class);
                        intent.putExtra("name", name);
                        intent.putExtra("userId", userid);
                        mActivity.startActivity(intent);
                    } else {
                        v.setX(0);
                    }
                }
                break;
                case MotionEvent.ACTION_MOVE: {
                    ux = event.getRawX();
                    if ((x - ux) > 60) {
                        v.setX(-offsetX);
                    }
                }
                break;
            }
            return true;
        }
    };

2个回答

hhhhhhhhuang
hhhhhhhhuang   2016.01.27 14:42

我在写recyclerview的时候好像也遇到过这种相似问题,写着玩的,后来就遗忘了。

VqwertyV
VqwertyV   2016.01.29 16:41

滑动系统有三种状态的监听,1你的手指还没离开,2停止,3手指放开但正在自动滑,
上下和左右只能分别进行,如果上下滑没有停止,貌似还会在停下之后延迟一小会,才能接受左右滑动的事件,

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!