通过拖动可从android中的列表中删除

通过拖动可从android中的列表中删除,android,list,draggable,Android,List,Draggable,我想要一些类似Gmail手机上的项目列表的东西 在那里,当我们水平拖动一个项目时,该项目将消失,并发生其他一些事情 我想知道如何在我的对象列表中执行类似操作。这是借助于滑动删除行项目的完整代码 public void delete_operation() { list.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v

我想要一些类似Gmail手机上的项目列表的东西

在那里,当我们水平拖动一个项目时,该项目将消失,并发生其他一些事情


我想知道如何在我的对象列表中执行类似操作。

这是借助于滑动删除行项目的完整代码

public void delete_operation() {
        list.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                return gesture_detector.onTouchEvent(event);
            }
        });
    }

 GestureDetector gesture_detector = new GestureDetector(
                new OnGestureListener() {
                    private static final int SWIPE_THRESHOLD = 100;
                    private static final int SWIPE_VELOCITY_THRESHOLD = 100;

                    @Override
                    public boolean onSingleTapUp(MotionEvent e) {
                        // TODO Auto-generated method stub
                        return false;
                    }

                    @Override
                    public void onShowPress(MotionEvent e) {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public boolean onScroll(MotionEvent e1, MotionEvent e2,
                            float distanceX, float distanceY) {
                        // TODO Auto-generated method stub
                        return false;
                    }

                    @Override
                    public void onLongPress(MotionEvent e) {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public boolean onFling(MotionEvent e1, MotionEvent e2,
                            float velocityX, float velocityY) {
                        boolean result = false;
                        try {
                            float diffY = e2.getY() - e1.getY();
                            float diffX = e2.getX() - e1.getX();
                            if (Math.abs(diffX) > Math.abs(diffY)) {
                                if (Math.abs(diffX) > SWIPE_THRESHOLD
                                        && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
                                    if (diffX > 0) {

                                        onSwipeRight();
                                    } else {
                                        row_id_ins = lst_pollution.pointToPosition(
                                                (int) e1.getX(), (int) e1.getY());
                                        Log.e("", "id.......row" + row_id_ins);
                                        id_ins = row_id_ins + 1;
                                        row_id_str = String.valueOf(id_ins);
                                        Log.d("", "ROW ID" + row_id_str);
                                        onSwipeLeft();
                                    }
                                }
                            } else {

                            }
                        } catch (Exception exception) {
                            exception.printStackTrace();
                        }
                        return result;

                    }

                    @Override
                    public boolean onDown(MotionEvent e) {
                        // TODO Auto-generated method stub
                        return false;
                    }
                });

        final class gesture_detector extends SimpleOnGestureListener {

            @SuppressWarnings("unused")
            private static final int SWIPE_THRESHOLD = 100;
            @SuppressWarnings("unused")
            private static final int SWIPE_VELOCITY_THRESHOLD = 100;

        }

        public void onSwipeRight() {
            Log.e("", "onSwipeRight");
        }

        public void onSwipeLeft() {
            Log.e("", "onSwipeRight");




        }

    }

滑动以删除行项目谢谢。。。现在一切都好了。