android - 标签项内的 Android 片段导航
问题描述
我有一个 TabLayout 应用程序。
在第一个选项卡中,我想显示带有电影的 RecyclerView 并单击它们以显示电影详细信息。
我已经包含了 TabLayout + View Pager,并扩展了 FragmentPagerAdapter。目前,我可以在标签之间导航(成功的片段)。
问题是我无法从 MoviesFragment 导航到 MovieDetailFragment(选择第一个选项卡时)。
我不知道应该声明什么 containerViewId,以及如何传递数据。
Fragment fragment = new MovieDetailFragment();
getActivity().getSupportFragmentManager().beginTransaction()
.replace(R.id.pager, fragment)
.commit();
SecondFragment 已实例化但不可见。
R.id.pager:是我的 Main Activity 中的 ViewPager 组件。
解决方案
家庭活动
SectionsPagerAdapter sectionsPagerAdapter = new
SectionsPagerAdapter(this, getSupportFragmentManager());
viewPager = findViewById(R.id.view_pager);
viewPager.setAdapter(sectionsPagerAdapter);
TabLayout tabs = findViewById(R.id.tabs);
tabs.setupWithViewPager(viewPager);
tabs.addOnTabSelectedListener(tabSelectedListener);
setupTabIcons(tabs);
适配器类
public class SectionsPagerAdapter extends FragmentPagerAdapter {
private final Context mContext;
public SectionsPagerAdapter(Context context, FragmentManager fm) {
super(fm);
mContext = context;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0: return new HomeFragment();
case 1: return Fragment2();
case 2: return Fragment3();
case 3: return Fragment4();
default: return null;
}
}
@Override
public int getCount() {
// Show 2 total pages.
return 4;
}
}
推荐阅读
- python - 如何通过 OpenCv 更有效地使用 SQL 查询,而不必每帧都插入数据
- algorithm - 优化旅行和从工厂收集单位的成本
- java - 有没有办法用“/”而不是“\”来获取文件的路径?
- r - 如何将图像添加到 shinydashboard menuItem()s?
- python - 无法在 Kivy 中导入 MapView
- jdbc - JasperStarter 数据库连接问题
- python - 如何使用 python 在 AWS lambda 中查询 RDS SQL Server 数据库?
- c++ - istream::ignore 是否丢弃超过 n 个字符?
- python - Python将unicode字符串匹配为unicode
- c# - Asp.net odbcCommand 未关闭与 mySql 的连接