InfiniteViewPager setCurrentItem不显示片段内容

时间:2014-10-13 10:04:24

标签: android android-fragments android-viewpager

我目前正在使用antonyt infiniteViewPager使我的viewPager看起来像一个无限滚动。它在我的最后工作正常,我也应用了一些更改,因为我需要根据我从导航抽屉点击的内容更改当前项目。现在处理我刚刚创建了一个共享首选项来处理页面的位置和虚拟位置,方法是更改​​InfinitePagerAdapter并在getPageTitle方法中添加这些行(因为我还有一个标题条):

SharedPreferences tab_pages = context.getSharedPreferences("pages", context.MODE_PRIVATE);
tab_pages.edit().putInt(String.valueOf(position % getRealCount()), position).commit();

现在从这里开始工作并更改当前页面但不显示应该是带有一些图像的列表视图的片段内容。以下是更改标签的代码:

@Override
    public void onNavigationDrawerItemSelected(int position) {
        SharedPreferences tab_pages = getSharedPreferences("pages", MODE_PRIVATE);

        switch (position) {
            case 0:
                mViewPager.setCurrentItem(tab_pages.getInt("0", 0), false);
                break;
            case 1:
                mViewPager.setCurrentItem(tab_pages.getInt("1", 0), false);
                break;
            case 2:
                mViewPager.setCurrentItem(tab_pages.getInt("2", 0), false);
                break;
            case 3:
                mViewPager.setCurrentItem(tab_pages.getInt("3", 0), false);
                break;
        }
    }

会发生什么,它只是正确更改我的标题条,但不显示片段内容。它有时会正确显示,但大部分时间只适用于位置0而不是其他位置,我认为无限查看器主要解释为什么会发生这种情况,尽管我并不确定究竟是什么原因。此外,如果我尝试垃圾邮件使用导航抽屉更改页面,它会停止并给我一个空指针异常。记录如下:

Caused by: java.lang.NullPointerException
            at com.test.kahel(MainActivity.java:168)
            at com.test.kahel.NavigationDrawerFragment.selectItem(NavigationDrawerFragment.java:241)
            at com.test.kahel.NavigationDrawerFragment.onCreate(NavigationDrawerFragment.java:89)

0 个答案:

没有答案