我遵循以下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',但你在'的getItem返回'null'()'任何'position'了'0'。 –
我想最好的方法是使用android studio並選擇選項卡式活動lol – creativecreatorormaybenot
再次閱讀該鏈接。你在switch語句中錯過了case 1和2。這可以防止null –