In meiner Haupttätigkeit erzeuge ich Tablayout und Pager, dann wenn ich zu Tab B (Tab A zu Tab B) wechsle und in Tab B ein weiteres Tablayout und Viewpager erstelle Der Inhalt wird jedoch leer, nur der Tabname wird angezeigt. Bitte führen Sie mich dieses Problem. Dies ist mein Code in Tab B:Tab layout und view pager im tab layout und viewpager
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);
}
}
}
Ihre Registerkarten sollten keine anderen Registerkarten enthalten - es ist eine schlechte Übung. Sie können keine verschachtelten Tabs haben. Stellen Sie sich vor, Sie wischen nach links, um die Registerkarte zu wechseln: Welche Registerkarte würden Sie ändern, die innere oder die äußere? Ich würde Ihnen raten, Ihre Navigation UI zu überdenken. –
Scheint wie ein armes Design ... Wenn Sie horizontal wischen, welcher ViewPager sollte sich bewegen? –
Ja, ich weiß das, aber ich muss es basierend auf der Anforderung des Kunden folgen. Sie haben Tab-Layout auf der Unterseite und dann wollen sie eine andere Registerkarte oben bei Fragment B. –