【发布时间】:2013-11-20 16:49:25
【问题描述】:
我在 ExpandableListView 的组视图(部分标题)中有一个 ViewPager。正如预期的那样,ViewPager 的滚动有时会变得不稳定,很可能是因为 ExpandableListView 试图拦截触摸事件。作为一种解决方案,我试图阻止 ExpandableListView 拦截用于 ViewPager 的触摸事件。所以,到目前为止,这就是我所做的。
private void fixViewPager(ViewPager vp) {
vp.setOnTouchListener(new ViewPager.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.
Logger.log("Disabling event stealing");
v.getParent().requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
// Allow ScrollView to intercept touch events.
Logger.log("Enabling event stealing");
v.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
// Handle ListView touch events.
v.onTouchEvent(event);
return true;
}
});
}
但是,触摸监听器永远不会收到 ACTION_DOWN 事件。它似乎只得到 ACTION_UP 事件。我能做些什么来解决我的问题?谢谢!
【问题讨论】:
标签: android