我在Android 1.6 和 2.2中这样做...
我在 Activity 中有一个ScrollView (ScrollView 中的所有内容)...
第二个是 Activity 中的一个ListView ....
当我滚动 ListView 时,当时 ScrollView 正在滚动,但ListView 的 Scroll 不起作用......
我提供了我遇到的问题...
如果有人有这个解决方案,那么请分享...
我在Android 1.6 和 2.2中这样做...
我在 Activity 中有一个ScrollView (ScrollView 中的所有内容)...
第二个是 Activity 中的一个ListView ....
当我滚动 ListView 时,当时 ScrollView 正在滚动,但ListView 的 Scroll 不起作用......
我提供了我遇到的问题...
如果有人有这个解决方案,那么请分享...
这里 parentScroll = 你的主滚动视图和 childScroll = 你的列表视图
parentScroll.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
Log.v("PARENT", "PARENT TOUCH");
findViewById(R.id.child_scroll).getParent()
.requestDisallowInterceptTouchEvent(false);
return false;
}
});
childScroll.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
Log.v("CHILD", "CHILD TOUCH");
// Disallow the touch request for parent scroll on touch of
// child view
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
svView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
// Disallow ScrollView to intercept touch events.
v.getParent().requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
// Allow ScrollView to intercept touch events.
v.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
// Handle ListView touch events.
v.onTouchEvent(event);
return true;
}
});