-1
私の主な活動では、タブレイアウトとビューページャを作成してから、タブB(タブAからタブB)とタブBの間で切り替えると、別のタブレイアウトとビューページを作成します内容が空になると、タブ名のみが表示されます。この問題を私に案内してください。これは、タブBで私のコードです:タブレイアウトとビューページャのタブレイアウトとビューページ内
public class TabB extends BaseFragment {
private TabLayout tabLayout;
private ViewPager viewPager;
@Override
public int getLayoutResourceId() {
return R.layout.fragmentB;
}
@Override
public void initView(View view) {
viewPager = (ViewPager) view.findViewById(R.id.viewpager);
setupViewPager(viewPager);
tabLayout = (TabLayout) view.findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
}
private void setupViewPager(ViewPager viewPager) {
ViewChildPagerAdapter adapter = new ViewChildPagerAdapter(getChildFragmentManager());
adapter.addFragment(new TabC, "tab c");
adapter.addFragment(new TabD, "tab d");
viewPager.setAdapter(adapter);
}
public static class ViewChildPagerAdapter extends FragmentStatePagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mTitle = new ArrayList<>();
public ViewChildPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mTitle.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mTitle.get(position);
}
}
}
あなたのタブには他のタブがあってはなりません。悪い習慣です。ネストされたタブは使用できません。あなたがタブを変更するために左にスワイプすると想像してください。あなたのナビゲーションUIを再考することをお勧めします。 –
デザインが悪いようです...水平にスワイプすると、どのViewPagerを移動する必要がありますか? –
はい、私はそれを知っていますが、私はクライアントの要件に基づいてそれに従わなければなりません。彼らは下部にタブレイアウトを持っていて、フラグメントBの上に別のタブが必要です。 –