在后退按钮上一遍又一遍地显示相同的 activity

On back button shows same activity over and over

我有 activity A 可以打开 Activity B。我遇到的问题是,如果我打开 Activity B 然后关闭 Activity B 和重新打开 Activity B,当我按下后退按钮时,我会再次看到 Activity B。似乎每次我打开 activity 时,activity 都会添加到堆栈中,并且在使用 finish() 或 onBackPressed() 时不会被销毁。如有任何帮助,我们将不胜感激!

这就是我从 Activity A 打开 activity B 的方式:

    Intent intent = new Intent();
    intent.setClass(this, ActivityB.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
    startActivity(intent);

Activity B 后退按钮使用以下方式调用:

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

清单XML:

        <activity
        android:name="com.example.project.FirstActivity"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustPan">

        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>

            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>

        </activity>

      <activity
        android:name="com.example.project.ActivityA"
        android:screenOrientation="portrait">
    </activity>

    <activity
        android:name="com.example.project.ActivityB"
        android:screenOrientation="portrait">
    </activity>

在mainfest.xml >> 添加

<activity
        android:name=".ActivityB"
        <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".ActivityA" />

`