
我有我的MainActivity管理两个一起工作的片段.
我的一个方法是ListFragment上的监听器接口,MainActivity负责切换片段.
但由于某种原因,似乎addToBackStack不起作用.当我点击列表时,转到下一个片段并点击设备的后退按钮……它只是在设备主屏幕上的应用程序之外.
谁知道问题是什么?
@OverrIDepublic voID OnSelectionChanged(Object object) { DetailFragment DetailFragment = (DetailFragment) getFragmentManager().findFragmentByID(R.ID.detail_fragment); if (DetailFragment != null) { DetailFragment.setTitle(object); } else { DetailFragment newDetailFragment = new DetailFragment(); Bundle args = new Bundle(); args.putSerializable(DetailFragment.KEY_position,object); newDetailFragment.setArguments(args); FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); fragmentTransaction.replace(R.ID.fragment_container,newDetailFragment); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); }}最佳答案您应该在MainActivity中添加此方法.@OverrIDepublic voID onBackpressed() { FragmentManager fm = getFragmentManager(); if (fm.getBackStackEntryCount() > 0) { fm.popBackStack(); } else { super.onBackpressed(); }}并检查您的导入使用androID.app.而不是androID.support.v4.app.
例如:
import androID.app.FragmentManager;代替 :
import androID.support.v4.app.FragmentManager; 总结 以上是内存溢出为你收集整理的android – addToBackStack()无效全部内容,希望文章能够帮你解决android – addToBackStack()无效所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)