按下"向上导航按钮"时出错在操作栏上并返回到父活动

时间:2017-12-22 13:18:42

标签: android android-activity android-lifecycle

我对Android世界相对较新。我有一个活动( PartyActivity )显示有关聚会的一些信息。按下按钮"编辑"它启动一个新活动( EditPartyActivity ),允许用户编辑聚会的信息。 EditPartyActivity 在其操作栏上有一个向上导航按钮,允许用户返回 PartyActivity ,这是我的问题。当我回到 PartyActivity 时,它会从零重新创建,而不是恢复原来的状态。我希望当 PartyActivity 启动 EditPartyActivity 时,它会停止保存状态,当我从 EditPartyActivity 返回 PartyActivity 时不启动 PartyActivity 的新实例,但它会恢复启动它的旧 PartyActivity 。这是我的代码:

AndroidManifest

<activity
    android:name=".EditPartyActivity"
    android:screenOrientation="portrait"
    android:parentActivityName=".PartyActivity">
    <!-- Parent activity meta-data to support 4.0 and lower -->
    <meta-data 
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".PartyActivity" />
</activity>

PartyActivity

Intent i = new Intent(PartyActivity.this, EditPartyActivity.class);
startActivity(i);

没有&#34;完成()&#34;在&#34; startActivity(i)&#34;。

之后

1 个答案:

答案 0 :(得分:1)

通过在清单中指定父活动名称,它将始终设置要重新启动的父活动。如果您不想这样,您可以选择为向上按钮提供不同的功能,如下所示。理想情况下,您希望在基本活动中执行此操作,因此所有需要类似后退行为的活动都会执行相同操作,而不是在每个活动中放置代码。

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