gpt4 book ai didi

java - Viewpager 在 fragment 内不可见

转载 作者:行者123 更新时间:2023-12-01 17:52:54 25 4
gpt4 key购买 nike

我的主要 Activity 中有一个底部导航栏。其中有 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()用于测试。

因此主题页面是带有选项卡布局的 fragment 。该 fragment 使用选项卡 View 显示了其他三个 fragment 。

TopicPage()如果情况 2 工作正常。

但在情况 3 fragment TopicPage()正在显示。它还调用选项卡布局中的三个 fragment (在日志中获取消息)。但在 ViewPager 中不可见。并且选项卡布局上的下划线不会通过动画从一个选项卡滑动到另一个选项卡。我必须手动滑动它。

并且,

当我添加像 Stats() 这样的单个 fragment 时或Leaderboard()它有效。

截图 ss

Createview 主题页面

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;
}

所以我不知道为什么会遇到这个问题......

需要帮助:(

最佳答案

重写 TopicPage() 中的方法名为 setUserVisibilityHint() 的 fragment 并在该方法中的 return 语句之后 ...write if(getActivity()!=null) { viewPager.setAdapter(....youradapter); }我认为它会起作用。首先初始化viewPager的适配器,然后设置适配器......让我知道它是否有效..

关于java - Viewpager 在 fragment 内不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48037012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com