android - ListView滑动删除,左右滑动会导致上下跟着滑动,求解决办法
黄舟
黄舟 2017-04-17 17:00:15
0
2
744
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(2)
巴扎黑

没有看你的代码,但是遇到过相同的问题,首先你需要判断手指位移来判断当前Touch事件应该被哪个组件捕获,就比如你当前的左右滑动,当前你的组件有你的listview,还有你listview里面的每一个item。这样一切都明白了,就好做了。贴个实例吧,不然也不真诚。

class YScrollDetector extends GestureDetector.SimpleOnGestureListener {
    @Override
    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
        
        if (Math.abs(distanceX) >= Math.abs(distanceY)) {
            //父亲不滑动
            setParentScrollAble(false);
            return true;
        }else{
            setParentScrollAble(true);
        }
        return false;
    }
}

这个用来判断左右滑动,并选择组建捕获。

private void setParentScrollAble(boolean flag) {
    if(parentListView!=null){
        parentListView.requestDisallowInterceptTouchEvent(!flag);
    }
}

这个用来分发事件

Ty80

如果还没解决的话你可以尝试的看下这个开源例子:https://github.com/timroes/EnhancedListView支持你说的侧滑删除

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!