-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片段。 –