我正在尝试拥有一个几乎没有视图的viewpager(让我们说5?)并在其中一个视图中(让我们说第三个视图?)我必须放另一个viewpager所以在搜索了一段时间后,我来了一些问题,我无法得到我的说法的确切答案。
我真的不需要代码有点解决方案,但更像是一个概念有点解决方案,所以我不是要求任何人做我的编码,但我已经安静地远离android而我宁愿听到新的来自专业人士的概念。
提前感谢。
编辑:
好的,我设法在某个时候做了,但我现在面临的另一个问题。 这是对包含我的viewpager的片段的调用:
Fragment fragment = new Fragment();
switch(position)
{
case 0: fragment = new CalendarFragment();break;
case 1: fragment = new DummySectionFragment();
Bundle args = new Bundle();
args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, 2);
fragment.setArguments(args);break;
}
return fragment;
这是calendarFragment类的oncreate:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View cal = inflater.inflate(R.layout.calendar, container, false);
viewPager = (ViewPager) cal.findViewById(R.id.calendar_pager);
viewPager.setOnTouchListener( 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;
}
});
viewPager.setAdapter(createCalendarAdaptor());
viewPager.setCurrentItem(MONTHS_LIMIT / 2);
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
//updateResetButtonState();
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
});
return cal;
}
我在第一个片段中得到了日历,它工作正常,我可以轻松滚动到下一页,然后我可以轻松地回到第一页,但是当我移到第3页然后我回去到我的另一个viewpager的第一页它导致错误:
java.lang.IllegalStateException: Recursive entry to executePendingTransactions
我不确定为什么会这样,我已经做了一些搜索,看起来是因为我在片段中使用了一个viewpager ......
任何帮助都将不胜感激。