【发布时间】:2013-11-20 13:32:47
【问题描述】:
我有一个列表视图、按钮、文本视图、编辑文本、图像视图,它们被滚动视图覆盖。
现在,我想在列表视图中拖放项目以对列表进行排序。但是,我在拖动时遇到了问题,因为当我在列表视图中拖动项目时,滚动视图可能会控制触摸侦听器。
很多人说我不应该在滚动视图中使用列表视图,但这是必需的。
那么,我该怎么办?我的意思是当我在列表视图中拖动项目时如何锁定滚动视图的触摸。谢谢。
【问题讨论】:
标签: listview
我有一个列表视图、按钮、文本视图、编辑文本、图像视图,它们被滚动视图覆盖。
现在,我想在列表视图中拖放项目以对列表进行排序。但是,我在拖动时遇到了问题,因为当我在列表视图中拖动项目时,滚动视图可能会控制触摸侦听器。
很多人说我不应该在滚动视图中使用列表视图,但这是必需的。
那么,我该怎么办?我的意思是当我在列表视图中拖动项目时如何锁定滚动视图的触摸。谢谢。
【问题讨论】:
标签: listview
我试图在列表视图中拖动项目时锁定滚动视图的滚动。 这就是我到目前为止所能得到的一切。如果您有更好的解决方案,请告诉我,谢谢
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;
}
});
【讨论】: