在后退按钮上一遍又一遍地显示相同的 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" />
`
我有 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" />
`