无限/循环滚动ViewPager与碎片

时间:2016-11-08 15:25:54

标签: android android-viewpager android-tablayout

我在main_activity中向我的ViewPagerAdapter添加了两个片段 我使用LoopingViewPager lib。

文档说:当你使用Fragments时,你必须添加2" fake"你的mFragmentList之外的片段,我在这里做的事情:

       var adapter = ViewPagerAdapter(getSupportFragmentManager());
        adapter.addFragment(LogItemPage(logItems.filter { it.type!!.equals(LogItemType.Basic) }),
                getString(R.string.fragment_main_basic_title));
        adapter.addFragment(LogItemPage(logItems.filter { it.type!!.equals(LogItemType.Extended) }),
                getString(R.string.fragment_main_extended_title));

// add two extra Fragments of the same Fragments:

 adapter.addFragment(LogItemPage(logItems.filter { it.type!!.equals(LogItemType.Basic) }),
                getString(R.string.fragment_main_basic_title));
        adapter.addFragment(LogItemPage(logItems.filter { it.type!!.equals(LogItemType.Extended) }),
                getString(R.string.fragment_main_extended_title));

        viewPager.setAdapter(adapter);

并在我的ViewPagerAdapter中:

override fun getItem(position: Int): Fragment? {

    var position2 = LoopViewPager.toRealPosition(position, mFragmentList.size);
    var count = mFragmentList.size
    var modulo = position2%count
    return mFragmentList[modulo]
}

但是我得到了这个错误,当我尝试滑动到viewpager的末尾时 - 前两个真正的碎片都没问题,但是当我滑到最后,所以第一个再次显示它崩溃了:

 E/AndroidRuntime: FATAL EXCEPTION: main
Process: ch.zhaw.myapp.android.debug, PID: 9737
java.lang.IllegalStateException: Can't change tag of fragment LogItemPage{16838b #1 id=0x7f0c0086 android:switcher:2131492998:0}: was android:switcher:2131492998:0 now android:switcher:2131492998:4

这是example应该有效,我试图适应。

0 个答案:

没有答案