【发布时间】:2017-12-30 19:04:43
【问题描述】:
我在主要活动中有一个底部导航栏。其中有 5 项。
这是底部导航的 getitem 方法
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
return new ChatRoomPage();
case 1:
return new TopicPage();
case 2:
return new TopicPage();
case 3:
return new Leaderboard();
case 4:
return new Stats();
}
return new ChatRoomPage();
}
我已添加TopicPage() 进行测试。
所以主题页面是一个带有标签布局的片段。该片段使用标签视图显示了其他三个片段。
TopicPage() 如果情况 2 工作正常。
但如果显示 3 片段 TopicPage()。它还调用选项卡布局中的三个片段(在日志中获取消息)。但在 ViewPager 中不可见。并且 tablayout 上的下划线不会使用动画从一个选项卡滑到另一个选项卡。我必须手动滑动它。
还有,
当我添加像 Stats() 或 Leaderboard() 这样的单个片段时,它可以工作。
主题页面 onCreateview
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
v = inflater.inflate(R.layout.topic_page, container, false);
tabLayout = v.findViewById(R.id.tab);
pager = v.findViewById(R.id.pager);
pager.setOffscreenPageLimit(4);
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
pager.setAdapter(new TopicPagerAdapter(getFragmentManager()));
tabLayout.setupWithViewPager(pager);
return v;
}
所以我不知道为什么我会遇到这个问题......
需要帮助:(
【问题讨论】:
-
所以你已经嵌套了 ViewPagers?
-
@elmorabea 是的
-
如果用户正在查看案例 1 或案例 2 即(主题页面)用户将如何返回主选项卡布局,即初始/父布局,你有截图吗?
-
很高兴听到它有帮助。我将其添加为答案。请接受。
标签: java android android-fragments