ビューページャーでスライドタブを取得するために、私は以下のinstructionsに従っています。ここでアンドロイドのビューページャでタブを設定するにはどうすればいいですか?
は私の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 'の、しかし、あなたが' 0 'の上に任意の' position'ために ')' 'のgetItem(中null'なのでを返すしているアダプタでこれを試してみてください。 –
私は最良の方法は、アンドロイドスタジオを使用し、タブ付きの活動を選択するだろうと思う笑 – creativecreatorormaybenot
そのリンクをもう一度読んでください。 switchステートメントでcase 1と2が間に合わなかった。それはヌルを防ぎます –