gpt4 book ai didi

java - 从 Activity 导航到 TabLayout/ViewPager fragment

转载 作者:搜寻专家 更新时间:2023-11-01 09:39:13 25 4
gpt4 key购买 nike

我想弄清楚如何从一个 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);

在第二个 Activity 中,在 View 寻呼机初始化之后:

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

希望对你有帮助

关于java - 从 Activity 导航到 TabLayout/ViewPager fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40902234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com