在listview中拖放项目

时间:2013-11-20 13:32:47

标签: listview

我有一个滚动视图覆盖的列表视图,按钮,textview,edittext,imageview。

现在,我想拖放列表视图中的项目以对列表进行排序。但是,我在拖动时遇到了问题,因为当我在列表视图中拖动项目时,scrollview可能会控制触摸侦听器。

有很多人说我不应该在滚动视图中使用listview,但这是要求。

因此,我该怎么办?我的意思是当我在列表视图中拖动项目时如何锁定滚动视图的触摸。感谢。

1 个答案:

答案 0 :(得分:0)

我在列表视图中拖动项目的同时尝试锁定滚动视图的滚动。 这就是我现在所能得到的一切。如果您有更好的解决方案,请告诉我,谢谢

ListView lv = (ListView)findViewById(R.id.list);  
lv.setOnTouchListener(new ListView.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            int action = event.getAction();
            switch (action) {
            case MotionEvent.ACTION_MOVE:
                v.getParent().requestDisallowInterceptTouchEvent(true);
                break;

            case MotionEvent.ACTION_UP:
                v.getParent().requestDisallowInterceptTouchEvent(false);
                break;
            }

            // Handle ListView touch events.
            v.onTouchEvent(event);
            return true;
        }
    });