[英]Singletop activity doesn't resume on Back Button press
我有一個活動,我們稱它為活動 A,它在清單中定義為“launchmode:singleTop”,還有一個活動 B,其父項是活動 A(在清單中定義)。 但出於某種原因,當我單擊活動 B 上的后退按鈕時,它不會恢復活動 A 而是創建它,我知道這一點是因為我在活動 A 的 onCreate function 中寫了一條日志行,按下時調用B中的后退按鈕。這可能是什么原因? 它以前對我有用,但突然這個問題開始了。
A 是活動 GroupStandingsActivity,B 是 AddStandingsActivity。
清單:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.amigo">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="false"
android:theme="@style/GreenTheme"
tools:ignore="GoogleAppIndexingWarning"
tools:replace="android:supportsRtl">
<activity android:name=".Activities.MatchResultsActivity" />
<activity android:name=".Activities.TeamAssignmentActivity"
android:parentActivityName=".Activities.GroupStandingsActivity"/>
<activity
android:name=".Activities.AddPlayerActivity"
android:parentActivityName=".Activities.AddStandingsActivity" />
<activity
android:name=".Activities.AddStandingsActivity"
android:launchMode="singleTop"
android:parentActivityName=".Activities.GroupStandingsActivity" />
<activity
android:name=".Activities.AddEditGroupActivity"
android:parentActivityName=".Activities.GroupListActivity" />
<activity
android:name=".Activities.GroupListActivity"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Activities.GroupStandingsActivity"
android:launchMode="singleTop"
android:parentActivityName=".Activities.GroupListActivity" />
</application>
</manifest>
啟動 AddStandingActivity 的代碼:有一個啟動 AddStandingsActivity 的菜單按鈕
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.add_standings_menu:
addPlayer();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private void addPlayer() {
Intent intent = new Intent(GroupStandingsActivity.this, AddStandingsActivity.class);
intent.putExtra(AddStandingsActivity.EXTRA_GROUP_ID, groupID);
startActivityForResult(intent, ADD_STANDINGS_REQUEST);
}
當您的活動 A 進入后台時,系統可能會銷毀它以釋放 memory。當用戶關閉您的活動 B 時,系統必須再次創建活動 A,並且將使用非空的 savedInstanceState 參數調用 onCreate。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.