-1

I have followed the following instructions in order to get sliding tabs with a view pager.

Here is my onCreate method:

mViewPager.setAdapter(new NavigationPagerAdapter(getSupportFragmentManager()));
mTabLayout.setupWithViewPager(mViewPager);

Here is my navigation pager adapter:

public static class NavigationPagerAdapter extends FragmentPagerAdapter {
    private static final int NUM_ITEMS = 3;

    public NavigationPagerAdapter(FragmentManager fragmentManager) {
        super(fragmentManager);
    }

    // Returns total number of pages
    @Override
    public int getCount() {
        return NUM_ITEMS;
    }

    // Returns the fragment to display for that page
    @Override
    public Fragment getItem(int position) {
        switch (position) {
            case 0: // Fragment # 0 - This will show FirstFragment
                return new FeedFragment();
            default:
                return null;
        }
    }

    // Returns the page title for the top indicator
    @Override
    public CharSequence getPageTitle(int position) {
        return "Page " + position;
    }
}

Here is my content_main.xml activity layout:

<android.support.design.widget.TabLayout
    android:id="@+id/navigation_sliding_tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:tabMode="scrollable"/>

<android.support.v4.view.ViewPager
    android:id="@+id/navigation_pager"
    android:layout_width="match_parent"
    android:layout_height="0px"
    android:layout_weight="1"/>

This is the error I get when running the code:

java.lang.NullPointerException: Attempt to write to field 'android.support.v4.app.FragmentManagerImpl android.support.v4.app.Fragment.mFragmentManager' on a null object reference

I am not sure if the error lies in the pager adapter but it seems the fragment manager is causing trouble.

Tom Finet
  • 2,056
  • 6
  • 30
  • 54

1 Answers1

0

try this in adapter

FeedFragment feedfragment;
public NavigationPagerAdapter(FragmentManager fragmentManager) {
    super(fragmentManager);
    feedfragment=new FeedFragment();
}

// Returns total number of pages
@Override
public int getCount() {
    return NUM_ITEMS;
}

// Returns the fragment to display for that page
@Override
public Fragment getItem(int position) {
Fragment fragment;
    switch (position) {
        case 0: // Fragment # 0 - This will show FirstFragment
            fragment=feedfragment;
            break;
         return fragment;

    }
}

// Returns the page title for the top indicator
@Override
public CharSequence getPageTitle(int position) {
    return "Page " + position;
}
}
Muhib Pirani
  • 765
  • 1
  • 6
  • 15