我试图弄清楚如何从一个 Activity 导航到由单独 Activity 托管的 fragment 。
更复杂的是目标 Activity 托管具有 3 个独立 fragment 的 TabLayout/ViewPager。以下是与 TabLayout/ViewPager 关联的适配器的代码。我正在尝试导航到 TabLayout/ViewPager 的“NewFragment”部分:
public class SectionPagerAdapter extends FragmentPagerAdapter {
public SectionPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new TrendingFragment();
case 1:
return new FollowingFragment();
case 2:
return new NewFragment();
default:
return new TrendingFragment();
}
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return getResources().getString(R.string.trending_text);
case 1:
return getResources().getString(R.string.following_text);
case 2:
return getResources().getString(R.string.new_text);
default:
return getResources().getString(R.string.trending_text);
}
}
}
我认为我必须使用 Intent ,但我感到困惑的是如何确保 Activity 加载 NewFragment 而不是选项卡中的第一个 fragment TrendingFragment。
最佳答案
你可以尝试这样的事情。
在第一个 Activity 中:
int position = the fragment position in the target activity you want to open;
Intent intent = new Intent(getActivity(), TargetActivity.class);
intent.putExtra("fragmentPosition", position);
startActivity(intent);
在 View 寻呼机初始化后,初始化第二个 Activity :
Intent intent = getIntent();
int fragmentPosition = intent.getIntExtra("fragmentPosition");
viewPager.setCurrentItem(fragmentPosition);
希望对你有帮助
关于java - 从 Activity 导航到 TabLayout/ViewPager fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40902234/