我正在尝试弄清楚如何从一个活动到由单独的活动托管的片段导航。
更复杂的是目标活动托管带有3个单独片段的TableAut/ViewPager。这是与TableAut/ViewPager关联的适配器的代码。我正在尝试导航到TableAut/ViewPager的"新范围"部分:
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);
}
}
}
我认为我必须使用意图,但是我感到困惑的是,我将如何确保活动加载新范围,而不是标签中的第一个片段。
您可以尝试这样的事情。
在第一个活动中:
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);
int第二个活动,在查看Pager初始化之后:
Intent intent = getIntent();
int fragmentPosition = intent.getIntExtra("fragmentPosition");
viewPager.setCurrentItem(fragmentPosition);
希望它有帮助