【问题标题】:Resuming the fragment after recreating Activity重新创建 Activity 后恢复片段
【发布时间】:2015-11-20 20:37:07
【问题描述】:

在我的应用程序中,我有一个具有 Fragment Container 的 Activity,当用户来到该 Activity 时,我正在向容器中添加一个 Fragment (FragmentOne)。一旦他们在 FragmentOne 中输入了一些数据,我将用 FragmentTwo 替换这个片段。

当我在 FragmentTwo 上时,如果我将应用程序带到后台并返回,它会转到 FragmentOne。我希望它回到 FragmentTwo。我尝试保存当前片段的实例并恢复它。但是, backStackEntryCount 会增加,并且在我按下后退按钮时会导致问题。

实现这一目标的最佳方法是什么?

activity.xml

<?xml version="1.0" encoding="utf-8"?>

<include
    android:id="@+id/toolbar"
    layout="@layout/include_toolbar" />

<RelativeLayout
    android:id="@+id/fragmentContainer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/toolbar">

</RelativeLayout>

【问题讨论】:

    标签: java android android-fragments android-activity


    【解决方案1】:

    如果您在 Activity 中设置一个标志来指示第一个片段是否已完成,您可以检查该标志以查看要加载哪个片段,以便在您返回应用程序时加载正确的片段。在您加载第一个片段的位置检查此标志,如果它被提升,则加载第二个片段。

    【讨论】:

    • 当我加载第二个片段时,如果用户想按返回按钮返回第一个片段,他们将不会登陆第一个片段。
    • 覆盖 on back press 方法,如果加载了第二个片段,则将其替换为第一个片段,并且不要将事务添加到后台堆栈
    • 我其实是想多了,我没必要这么做。我会尽快发布我的答案。
    猜你喜欢
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    相关资源
    最近更新 更多