gpt4 book ai didi

android - addToBackstack 在替换 android 中的 fragment 时不起作用

转载 作者:行者123 更新时间:2023-11-30 02:17:24 35 4
gpt4 key购买 nike

我阅读了有关此主题的线程,但直到它都不起作用。

这是我在 onCreate 方法中的代码。

   if (savedInstanceState==null){
WeatherFragment weatherFragment = (WeatherFragment) Fragment.instantiate(this, WeatherFragment.class.getName());
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();

fragmentTransaction.add(R.id.container_small, weatherFragment);
fragmentTransaction.commit();
}

然后我替换 fragment 。

        FrameLayout fl;
if (findViewById(R.id.container2) != null)
fl = (FrameLayout) findViewById(R.id.container2);
else
fl = (FrameLayout) findViewById(R.id.container_small);


SettingsFragment settingsFragment = (SettingsFragment) Fragment.instantiate(this, SettingsFragment.class.getName());
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();

fragmentTransaction.replace(R.id.container_small, settingsFragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

现在我按下后退按钮,应用程序不会返回到第一个 fragment 。

知道为什么吗?

最佳答案

@Override
public void onBackPressed() {
// TODO Auto-generated method stub

if(getFragmentManager().getBackStackEntryCount()!=0)
getFragmentManager().popBackStack();
else
}

你需要重写onBackPressed()方法

关于android - addToBackstack 在替换 android 中的 fragment 时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29076128/

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