Android 碎片不是';t在残片PageRadapter中正确更换
我将开发一个android应用程序,使用Android 碎片不是';t在残片PageRadapter中正确更换,android,android-fragments,Android,Android Fragments,我将开发一个android应用程序,使用FragmentPagerAdapter和ViewPager来使用FragmentPagerAdapter。我试图在片段中单击按钮来替换片段,但当我单击该按钮时,当前布局向上,下一个布局仍然位于该位置,即2个布局位于单个片段上,我不想要它 我正在使用这些步骤来替换,但没有正确地进行更改 FragmentTransaction transaction = getActivity() .getSupportFragmen
FragmentPagerAdapter
和ViewPager
来使用FragmentPagerAdapter
。我试图在片段中单击按钮来替换片段,但当我单击该按钮时,当前布局向上,下一个布局仍然位于该位置,即2个布局位于单个片段上,我不想要它
我正在使用这些步骤来替换,但没有正确地进行更改
FragmentTransaction transaction = getActivity()
.getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.select_program_root, newFrag);
transaction.addToBackStack(null);
transaction.commit();
甚至我在水平滚动视图中使用TabHost
和ViewPager
。我的应用程序一切正常。我只想替换片段onClick
位于片段内部的按钮
提前感谢。最后,我通过实现几行代码解决了这个问题
将此方法创建到您的片段活动中
:
public void setCurrentItem(int item, boolean smoothScroll) {
mViewPager.setCurrentItem(item, smoothScroll);
}
并将其称为片段的onClick
:
((MainActivity) getActivity()).setCurrentItem(3, true);
您尝试过使用getChildFragmentManager()吗?没有。它是否也用于替换片段?如果是,请发布示例代码。getChildFragmentManager()返回一个私有FragmentManager,用于在该片段中放置和管理片段(Google文档)。使用它的方式与getSupportFragmentManager()相同<代码>FragmentTransaction事务=getActivity().getChildFragmentManager().beginTransaction();事务.替换(R.id.select\u program\u root,newFrag);transaction.addToBackStack(空);commit()你能告诉我一件事吗?选择\u程序\u根是我的片段1的线性布局。我应该在每个片段中提到这个名称吗?getChildFragmentManager()
对于FragmentActivity是未定义的。