ViewPagerでTabLayoutとペアリングしようとしています。ペアリングはほとんど機能していますが、その後はTabtextが消えます。Android Tablayoutビューページとペア設定した後のタブタイトルがありません
レイアウト:
<android.support.design.widget.TabItem
android:id="@+id/group_tab_orders"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/orders"/>
<android.support.design.widget.TabItem
android:id="@+id/group_tab_members"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/members"/>
<android.support.design.widget.TabItem
android:id="@+id/group_tab_meals"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/meals"/>
</android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:id="@+id/group_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
コード:私も実現し、viewPager.setAdapter(new GroupContentAdapter(getFragmentManager(), reference));
により削除、タイトルが変更されないことを、ので、ここでアダプタ
tabLayout = (TabLayout) rootView.findViewById(R.id.group_tablayout);
viewPager = (ViewPager) rootView.findViewById(R.id.group_viewpager);
reference = FirebaseDatabase.getInstance().getReference("groups").child(getArguments().getString("key"));
viewPager.setAdapter(new GroupContentAdapter(getFragmentManager(), reference));
tabLayout.setupWithViewPager(viewPager);
です
GroupContentAdapter.java
public class GroupContentAdapter extends FragmentPagerAdapter {
public static int SIZE = 3;
private GroupContentFragment[] contents;
private DatabaseReference reference;
public class GroupContentAdapter extends FragmentPagerAdapter {
public static int SIZE = 3;
private GroupContentFragment[] contents;
private DatabaseReference reference;
public GroupContentAdapter(FragmentManager manager, DatabaseReference reference) {
super(manager);
this.reference = reference;
contents = new GroupContentFragment[SIZE];
contents[0] = GroupContentFragment.newInstance(reference.child(Utils.GROUPORDERS), ContentType.ORDERS);
contents[1] = GroupContentFragment.newInstance(reference.child(Utils.GROUPMEMBERS), ContentType.MEMBERS);
contents[2] = GroupContentFragment.newInstance(reference.child(Utils.GROUPMEALS), ContentType.MEALS);
}
@Override
public int getCount() {
return SIZE;
}
@Override
public Fragment getItem(int position) {
return contents[position];
}
IIRCでは、 'TabLayout'は' PagerAdapter'のタブタイトルを['getPageTitle()'](https://developer.android.com/reference/android/support/v4/view/PagerAdapter)でプルします。 .html#getPageTitle(int))メソッドを使用しているため、適切なタイトルを返すには 'GroupContentAdapter'でそのメソッドをオーバーライドする必要があります。 –
@MikeM。それはそれを動作させる1つの方法です。ありがとうございました。 –