无法在ViewPager中设置FragmentStatePagerAdapter

明亮的瓦格斯语

我想通过方法在ViewPager中设置FragmentStatePagerAdapter的子类的对象

viewPager.setAdapter(myPagerAdapter);

但是我得到如下错误

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.app.Fragment.setMenuVisibility(boolean)' on a null object reference
                                                       at android.support.v4.app.FragmentStatePagerAdapter.instantiateItem(FragmentStatePagerAdapter.java:120)
                                                       at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1006)
                                                       at android.support.v4.view.ViewPager.populate(ViewPager.java:1154)
                                                       at android.support.v4.view.ViewPager.populate(ViewPager.java:1088)
                                                       at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1614)

请帮助我解决此问题。

该代码段是

    public class MainActivity extends AppCompatActivity {

        Toolbar toolbar;
        TabLayout tabLayout;
        ViewPager viewPager;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            toolbar = (Toolbar)findViewById(R.id.toolbar);
            toolbar.setTitle("My App");
            toolbar.setSubtitle("this is my test");
            tabLayout = (TabLayout)findViewById(R.id.tablayout);
            tabLayout.addTab(tabLayout.newTab().setText("Left"));
            tabLayout.addTab(tabLayout.newTab().setText("Cent"));
            tabLayout.addTab(tabLayout.newTab().setText("Right"));

            viewPager = (ViewPager)findViewById(R.id.viewpage);

            MyPagerAdapter myPagerAdapter = new MyPagerAdapter(
                    getSupportFragmentManager(),
                    tabLayout.getTabCount()
            );
            viewPager.setAdapter(myPagerAdapter);
            //viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
        }
    }

public class MyPagerAdapter extends FragmentStatePagerAdapter {
    int tabCount;
    public MyPagerAdapter(FragmentManager fm, int tabCount) {
        super(fm);
        this.tabCount = tabCount;
    }

    @Override
    public Fragment getItem(int position) {
        switch (position){
            case 1:
                Fragment1 fragment1 = new Fragment1();
                return fragment1;
            case 2:
                Fragment2 fragment2 = new Fragment2();
                return fragment2;
            case 3:
                Fragment3 fragment3 = new Fragment3();
                return fragment3;
            default:
                return null;
        }
    }

    @Override
    public int getCount() {
        return tabCount;
    }
}
板球运动员

虽然您可能应该使用 tabLayout.setupWithViewPager(viewPager);

这是问题所在

switch (position){     
    // case 1, 2, 3...      
    default:
        return null; // Here

您是否忘记了列表从位置0开始索引?您返回了一个空片段

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ViewPager + FragmentStatePagerAdapter无法正常工作

来自分类Dev

ViewPager,FragmentStatePagerAdapter和无限滚动

来自分类Dev

在Fragment和FragmentStatePagerAdapter中包含ViewPager的片段导致Exception(带有完整示例)

来自分类Dev

在ViewPager中设置页面预览

来自分类Dev

在组件中设置viewpager的页面

来自分类Dev

使用FragmentStatePagerAdapter从ViewPager动态删除项目

来自分类Dev

Android:从ViewPager / FragmentStatePagerAdapter获取片段引用

来自分类Dev

在android中的Scrollview中设置Viewpager高度

来自分类Dev

在ViewPager Android中从URL设置图像

来自分类Dev

在ViewPager中设置操作栏标题

来自分类Dev

如何在 ViewPager 的布局中设置文本

来自分类Dev

如何从viewpager中的代码设置屏幕方向?

来自分类Dev

AuthAdapter 无法覆盖 FragmentStatePagerAdapter 返回类型中的 getItem(int) AuthFragment 与 Fragment 不兼容

来自分类Dev

Viewpager无法在协调器布局中滚动

来自分类Dev

ViewPager中的getchildat无法正常工作

来自分类Dev

片段在ViewPager中无法正确显示

来自分类Dev

ViewPager中的Android MapFragment无法正常工作

来自分类Dev

在Universal Image Loader UIL中设置ViewPager的图像Wallaper

来自分类Dev

如何使用tablayout在viewpager中设置当前标签

来自分类Dev

如何将图像从android中的horizontalscrollview设置到viewpager

来自分类Dev

如何从片段中获取高度并设置Viewpager的高度?

来自分类Dev

是否可以使用if或switch在Viewpager中设置图像?

来自分类Dev

如何在 LinearLayout 中为 ViewPager 设置重力

来自分类Dev

如何在FragmentStatePagerAdapter中动态添加页面

来自分类Dev

使用FragmentStatePagerAdapter在Fragment中更改ImageView的图像

来自分类Dev

notifyDataSetChanged()强制在FragmentStatePagerAdapter中向上滚动

来自分类Dev

FragmentStatePagerAdapter 中 Fragment 的生命周期是意外的

来自分类Dev

无法在QT中设置几何

来自分类Dev

无法在NSUserDefaults中设置数组

Related 相关文章

  1. 1

    ViewPager + FragmentStatePagerAdapter无法正常工作

  2. 2

    ViewPager,FragmentStatePagerAdapter和无限滚动

  3. 3

    在Fragment和FragmentStatePagerAdapter中包含ViewPager的片段导致Exception(带有完整示例)

  4. 4

    在ViewPager中设置页面预览

  5. 5

    在组件中设置viewpager的页面

  6. 6

    使用FragmentStatePagerAdapter从ViewPager动态删除项目

  7. 7

    Android:从ViewPager / FragmentStatePagerAdapter获取片段引用

  8. 8

    在android中的Scrollview中设置Viewpager高度

  9. 9

    在ViewPager Android中从URL设置图像

  10. 10

    在ViewPager中设置操作栏标题

  11. 11

    如何在 ViewPager 的布局中设置文本

  12. 12

    如何从viewpager中的代码设置屏幕方向?

  13. 13

    AuthAdapter 无法覆盖 FragmentStatePagerAdapter 返回类型中的 getItem(int) AuthFragment 与 Fragment 不兼容

  14. 14

    Viewpager无法在协调器布局中滚动

  15. 15

    ViewPager中的getchildat无法正常工作

  16. 16

    片段在ViewPager中无法正确显示

  17. 17

    ViewPager中的Android MapFragment无法正常工作

  18. 18

    在Universal Image Loader UIL中设置ViewPager的图像Wallaper

  19. 19

    如何使用tablayout在viewpager中设置当前标签

  20. 20

    如何将图像从android中的horizontalscrollview设置到viewpager

  21. 21

    如何从片段中获取高度并设置Viewpager的高度?

  22. 22

    是否可以使用if或switch在Viewpager中设置图像?

  23. 23

    如何在 LinearLayout 中为 ViewPager 设置重力

  24. 24

    如何在FragmentStatePagerAdapter中动态添加页面

  25. 25

    使用FragmentStatePagerAdapter在Fragment中更改ImageView的图像

  26. 26

    notifyDataSetChanged()强制在FragmentStatePagerAdapter中向上滚动

  27. 27

    FragmentStatePagerAdapter 中 Fragment 的生命周期是意外的

  28. 28

    无法在QT中设置几何

  29. 29

    无法在NSUserDefaults中设置数组

热门标签

归档