从ViewPager片段中打开另一个片段可以通过以下步骤实现:
getCurrentFragment()
。getCurrentFragment()
方法获取当前显示的片段对象。getSupportFragmentManager()
方法获取FragmentManager对象。replace()
方法替换当前显示的片段为需要打开的另一个片段。以下是一个示例代码:
// 在适配器中创建方法返回当前显示的片段对象
public Fragment getCurrentFragment(int position) {
return mFragmentList.get(position);
}
// 在需要打开另一个片段的地方
MyPagerAdapter adapter = (MyPagerAdapter) viewPager.getAdapter();
Fragment currentFragment = adapter.getCurrentFragment(viewPager.getCurrentItem());
// 获取FragmentManager对象
FragmentManager fragmentManager = currentFragment.getActivity().getSupportFragmentManager();
// 开启一个事务
FragmentTransaction transaction = fragmentManager.beginTransaction();
// 替换当前显示的片段为需要打开的另一个片段
transaction.replace(R.id.fragment_container, new AnotherFragment());
// 提交事务并添加到返回栈
transaction.addToBackStack(null);
transaction.commit();
这样,就可以从ViewPager片段中打开另一个片段了。请注意,代码中的R.id.fragment_container
是指用于显示片段的容器布局的ID,需要根据实际情况进行替换。
领取专属 10元无门槛券
手把手带您无忧上云