我有一个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:是“主要活动”中的ViewPager组件。
答案 0 :(得分:0)
家庭活动
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;
}
}