我真的是 Android 新手,我将不胜感激对我的课程工作的任何帮助。
我需要去做:
1)一个Activity中两个ViewPager(不嵌套)
2)两个ViewPager(一个ViewPager嵌套在另一个ViewPager中)
我发现了类似的问题,但我无法使用它。ViewPager 内的 ViewPager
我先添加 ViewPager,但不知道下一步该做什么
LayoutInflater inflater = LayoutInflater.from(this); //this - context of my activity
List<View> pages = new ArrayList<View>();
View page = inflater.inflate(R.layout.activity_main, null);
//next I adding some buttons on page
pages.add(page);
page = inflater.inflate(R.layout.activity_main2, null); //my second page
//some buttons
pages.add(page);
page = inflater.inflate(R.layout.activity_main3, null); //my third page
//some buttons
pages.add(page);
SamplePagerAdapter pagerAdapter = new SamplePagerAdapter(pages);
ViewPager viewPager = new ViewPager(this);
viewPager.setAdapter(pagerAdapter);
viewPager.setCurrentItem(0);
setContentView(viewPager);
如果我添加 ViewPager2 并说 setContentView(viewPager2),我就会丢失 viewPager1。我花了很多时间来解决这两个问题,请帮忙...
//这是我需要做的草图。
抱歉,我无法附上我的片段...
我添加了一个OnTouchListener
到内部ViewPager
:
private OnTouchListener mSuppressInterceptListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(
event.getAction() == MotionEvent.ACTION_DOWN &&
v instanceof ViewGroup
) {
((ViewGroup) v).requestDisallowInterceptTouchEvent(true);
}
return false;
}
};
这只是检测内部的 ACTION_DOWN 触摸事件ViewPager
并防止外部拦截它。因为它返回 false,所以只应命中 ACTION_DOWN 事件;所有其他事件都将被忽略。您可以将此侦听器添加到您想要“保护”免受外部影响的每个元素ViewPager
的滚动,但显然如果您想在这些元素上拾取任何其他触摸行为,您需要在触摸侦听器内处理它们,并可能实现更好的侦听器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)