-1
在我的主要活動,我創建tablayout和查看尋呼機,然後當我切換到標籤B(標籤A到標籤B)和標籤B內,我創建另一個標籤佈局和viewpager但內容變空,只顯示標籤名稱。請指導我這個問題。這是我在標籤B碼:標籤佈局和查看尋呼機內部標籤佈局和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);
}
}
}
你的標籤裏面不應該有其他標籤 - 這是不好的做法。你不能有嵌套的標籤。想象一下你向左滑動來改變標籤:你會改變哪個標籤,內部標籤還是外部標籤?我會建議你重新考慮你的導航界面。 –
看起來像一個糟糕的設計......如果你水平滑動,哪個ViewPager應該移動? –
是的,我知道,但我必須根據客戶的要求遵循它。他們有底部的標籤佈局,然後他們希望另一個標籤頂部的B片段。 –