我有MainActivity,它包含ListFragment和framelayout,我能够在项目点击时更改列表上的片段.
我有一个问题是使用新的Fragment2替换现有的Fragment1,在按钮上单击Fragment1,Fragment2应该替换Fragment1,并且左边应该有相同的ListFragment,并且应该正确处理后退按钮,这意味着当我在Fragment2中时并按回按钮它应显示相同的ListFragment和Fragment1.
解决方法:
你需要使用.replace来切换这两个片段,你还需要添加将原始文件添加到backstack以便你可以调用它,并且你需要覆盖后退键 *** 作才能以这种方式运行.它看起来像这样(使用我的一个项目中的代码,使用支持库):
要显示您的第一个片段:
menu = new MenuFragment_Main(); // instantiate fragmentgetSupportFragmentManager().beginTransaction().replace(R.ID.pane, menu).commit(); // display fragment
要将其交换为新片段并将其添加到backstack:
ListFragment_ShopListItem shopList = new ListFragment_ShopListItem(); // instantiate fragmentgetSupportFragmentManager().beginTransaction().replace(R.ID.pane, shopList).addToBackStack(null).commit(); // replace original fragment with new fragment, add original to backstack
并覆盖后退键以返回上一个片段:
public voID onBackpressed() { FragmentManager fm = getActivity().getSupportFragmentManager(); fm.popBackStack(); return;}
总结 以上是内存溢出为你收集整理的android – Fragment替换现有的片段全部内容,希望文章能够帮你解决android – Fragment替换现有的片段所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)