从Activity导航到TabLayout / ViewPager Fragment

时间:2016-12-01 03:39:36

标签: java android android-fragments

我试图弄清楚如何从活动导航到由单独活动托管的片段。

更复杂的是,目标活动主持一个带有3个独立片段的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,但是我感到困惑的是我如何确保活动加载NewFragment而不是选项卡中的第一个片段TrendingFragment。

1 个答案:

答案 0 :(得分:2)

你可以尝试这样的事情。

在第一项活动中:

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);

在第二个活动中,在查看寻呼机初始化之后:

Intent intent = getIntent();
int fragmentPosition = intent.getIntExtra("fragmentPosition");
viewPager.setCurrentItem(fragmentPosition);

希望有所帮助