另一个viewpager里面的android viewpager

时间:2013-06-02 06:25:41

标签: android android-fragments android-viewpager android-fragmentactivity

我正在尝试拥有一个几乎没有视图的viewpager(让我们说5?)并在其中一个视图中(让我们说第三个视图?)我必须放另一个viewpager所以在搜索了一段时间后,我来了一些问题,我无法得到我的说法的确切答案。

  • 如何在另一个viewpager的片段中实现一个viewpager?
  • 如果可以执行上述任务,将如何处理浏览器的触摸功能?不改变内部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 ......

任何帮助都将不胜感激。

0 个答案:

没有答案