gpt4 book ai didi

android - 动态移除 fragment 并保存它们的 UI 转换

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:51:30 25 4
gpt4 key购买 nike

我有几个 fragment ,可以用一个代替另一个。这些 fragment 的用户界面发生变化,我需要保持它的新状态。所以代码看起来很简单:

    FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();

if (mStepTwo == null) {
mStepTwo = new QuizStepTwo();
mStepTwo.setListener(mStepTwoListener);
} else {
fragmentTransaction.remove(mStepTwo);
}

fragmentTransaction.replace(R.id.step_holder, mStepTwo);
fragmentTransaction.addToBackStack("second_step");

fragmentTransaction.commit();

但是,当我用第一步替换第二步时,例如按下后退按钮,它的 UI 状态会回滚到初始状态。

我如何保持状态?保存实例状态?还是更舒服的东西?

类似问题:Android Fragment view state within a tab host , How to restore Android fragment view state

最佳答案

我没有用过这个,所以里程可能会有所不同。您可以尝试使用 FragmentManager.saveFragmentInstanceState替换 Fragments 时的方法,然后使用 Fragment.setInitialSavedState恢复 fragment 时的方法。从文档中,听起来它可能只有在制作相同类型的新 fragment 时才有效,因此不确定这是否适用于您当前的实现。

关于android - 动态移除 fragment 并保存它们的 UI 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14079795/

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