当从孩子导航回来时,父活动会继续重置

时间:2017-05-26 03:18:40

标签: android android-studio android-activity

当我使用intent从父活动转移到另一个,然后使用操作栏nav返回到parent时,父活动已丢失所有更改和值(作为用户)并返回到默认xml显示我有它。

我的孩子活动OnCreate中有这些:

 ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);

适当地标记我的父母活动:

android:parentActivityName=".MainActivity"

在活动之间旅行时,我需要做什么才能存储或记住这些变化?

3 个答案:

答案 0 :(得分:1)

有几种选择 -

1)使用startActivityForResult()

开始新活动

2)在清单文件中,设置父活动的android:launchMode="singleTop"

希望有所帮助

答案 1 :(得分:1)

在Manifest文件中,你应该像这样设置android:launchMode:

<!-- ACTIVITY -->
        <activity
            android:name=".activities.MainActivity"
            android:configChanges="orientation|screenSize"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"/>

P.s:在此链接上阅读启动模式: https://inthecheesefactory.com/blog/understand-android-activity-launchmode/en

答案 2 :(得分:0)

单击“导航”按钮时,可能正在创建父项的新实例。一个简单的方法就是完成你的活动,这样就可以简单地恢复后台堆中的任何活动。

这样的事情:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        finish();
        return true;
    }
    return super.onOptionsItemSelected(item);
}