gpt4 book ai didi

android - addToBackStack() 不工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:44:12 24 4
gpt4 key购买 nike

我的 MainActivity 管理两个一起工作的 fragment 。我的方法之一是我的 ListFragment 上的监听器接口(interface),MainActivity 负责切换 fragment 。

但出于某种原因,addToBackStack 似乎不起作用。当我点击列表时,转到下一个 fragment 并点击设备的后退按钮......它就在应用程序之外,在设备主屏幕上。

有人知道问题出在哪里吗?

@Override
public 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 中添加此方法。

@Override
public 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() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28132799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com