android–addToBackStack()无效

android–addToBackStack()无效,第1张

概述我有我的MainActivity管理两个一起工作的片段.我的一个方法是ListFragment上的监听器接口,MainActivity负责切换片段.但由于某种原因,似乎addToBackStack不起作用.当我点击列表时,转到下一个片段并点击设备的后退按钮......它只是在设备主屏幕上的应用程序之外.谁知道问题是什么?@Override public vo

我有我的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()无效所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1140589.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存