Android 向上导航到主活动

Android 向上导航到主活动,android,Android,我有以下Androidmanifest文件 除此之外,其他所有活动代码都是AndroidStudio默认提供的。但当我在第二个活动中按下up按钮时,它会直接进入主活动,而不是第一个活动。我知道这个问题有其他的解决方案,但我只是想知道为什么上行导航是这样的。我是android新手,所以我可能不理解一些非常简单的事情。任何帮助都将不胜感激。谢谢。因为FirstActivity尚未启动或创建。您直接从主活动呼叫第二个。由于在应用程序堆栈中并没有任何第一个活动可用,第二个活动如何首先转到父活动?它将转

我有以下Androidmanifest文件


除此之外,其他所有活动代码都是AndroidStudio默认提供的。但当我在第二个活动中按下up按钮时,它会直接进入主活动,而不是第一个活动。我知道这个问题有其他的解决方案,但我只是想知道为什么上行导航是这样的。我是android新手,所以我可能不理解一些非常简单的事情。任何帮助都将不胜感激。谢谢。

因为FirstActivity尚未启动或创建。您直接从主活动呼叫第二个。由于在应用程序堆栈中并没有任何第一个活动可用,第二个活动如何首先转到父活动?它将转到主活动,因为它是堆栈中剩下的唯一活动。

如果在创建FirstActivity时使用调用SecondActivity,则它将转到SecondActivity。但是想想看,一项活动实际上是什么时候开始的

它在您调用onCreate、onStart、onResume之后开始,然后您的Activity最终开始运行。在您的情况下,您不允许继续创建,因此FirstActivity甚至从未开始过。这就是为什么当您返回导航时,它会跳转到以前打开的活动,即MainActivity


我希望这能澄清你的答案!有关参考信息,请参见本节中活动的生命周期,谢谢,但是有没有一种方法可以将FirstActivity添加到堆栈中,而无需创建或启动itNope。如果不说明活动,你就不能。
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".First"
        android:label="@string/title_activity_first"
        android:parentActivityName=".MainActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="android.anoop.com.myapplication.MainActivity" />
    </activity>
    <activity
        android:name=".Second"
        android:label="@string/title_activity_second"
        android:parentActivityName=".First" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="android.anoop.com.myapplication.First" />
    </activity>
</application>
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Intent intent1=new Intent(this,Second.class);
    startActivity(intent1);
}