Я следил за следующим instructions, чтобы получить скользящие вкладки с видом пейджера.Как настроить вкладки с представлением пейджера в android?
Вот мой OnCreate метод:
mViewPager.setAdapter(new NavigationPagerAdapter(getSupportFragmentManager()));
mTabLayout.setupWithViewPager(mViewPager);
Вот мой навигации пейджера адаптер:
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;
}
}
Вот моя content_main.xml деятельность макет:
<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"/>
Это ошибка, которую я получаю при запуске кода:
java.lang.NullPointerException: Attempt to write to field 'android.support.v4.app.FragmentManagerImpl android.support.v4.app.Fragment.mFragmentManager' on a null object reference
Я не уверен, что ошибка лежит в адаптере пейджера, но кажется, что менеджер фрагментов вызывает проблемы.
'NUM_ITEMS = 3', но вы возвращение' 'null' в GetItem()' для любого 'position' над '0'. –
Я предполагаю, что лучший способ - использовать студию android и выбрать вкладку активности lol – creativecreatorormaybenot
Прочтите эту ссылку еще раз. Вы пропустили случай 1 и 2 в инструкции переключателя. Это предотвращает ошибку –