android - Android活动->片段->带有tabLayout的viewPager不起作用
问题描述
我有一个主要活动。在其中我使用了一个导航视图。如果我更改菜单项,则活动中包含的片段将被更改。
现在,我有一个名为新闻的菜单项。我有不同类型的新闻,所以我想在 NewsFragment 中使用 TabLayout 和 ViewPager。tabLayout 是不可见的,我知道原因,为什么。这是因为在主 Activity 中我使用了 navigationBar 和 AppBarLayout。(我知道,这是来自以下帖子的原因:TabLayout not shows tabs after added navigation bar
有没有人有解决这个问题的方法?
解决方案
我自己找到了答案。我只需要在 AppBarLayout 中添加 TabLayout,在片段的 onCreateView 方法中我可以这样做:
View layout = inflater.inflate(R.layout.fragment_news_page, container, false);
ViewPager viewPager = layout.findViewById(R.id.news_viewPager);
// initialize adapter
viewPager.setAdapter(adapter);
TabLayout tabLayout = getActivity().findViewById(R.id.tabLayout);
tabLayout.setVisibility(View.VISIBLE);
tabLayout.setupWithViewPager(viewPager);
推荐阅读
- excel - 从另一个工作簿填充组合框
- ruby-on-rails - 使用原生扩展安装 mysql2 0.4.10 Gem::Ext::BuildError: ERROR: Failed to build gem native extension
- javascript - 基于数组中的数组合并数组中的javascript对象
- javascript - 导出整个 CONST js
- javascript - 如何使用javascript在firebase数据库中上传变量作为属性名称?
- autodesk-forge - 从 IFC 转换为 SVF 后,Autodesk Forge 中是否可以使用 IfcOpeningElements?
- python - 使用 Music 21 和 Python 输出不止一种乐器
- reactjs - Webpack 和 Lighthouse 性能测试
- azure - Azure VM:无法安装 Qualys 扩展
- python - 为什么 else 在这个简单的代码中显示为语法错误?