Итак, у меня есть это приложение с четырьмя различными действиями:
- A - это основное действие с тремя кнопками для запуска B, C и D (я думаю, что люди используют для обозначения их как вспомогательные действия).
- Каждое действие имеет свой собственный макет, но я считаю, что здесь это не имеет отношения.
То, что я хочу сделать, - это стандартное поведение для большинства приложений.То есть:
- Я начинаю с запуска приложения и вижу действие A.
- Затем я нажимаю кнопку, например, C, и показывается действие C.
- Затем я нажимаю кнопку «Назад», и снова отображается действие A.
Мое приложение правильно выполняет пункты 1 и 2, но на 3 приложение исчезает.
Метод кнопок onClick имеет что-то вроде этого:
startActivity(new Intent(this,C.class));
Ни одно из действий не переопределяет метод onBackPressed.
Вот (часть) мой файл манифеста:
<activity android:name=".A" android:label="A" android:launchMode="standard" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".B" android:label="B" android:launchMode="standard" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait"/>
<activity android:name=".C" android:label="C" android:launchMode="standard" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait"/>
<activity android:name=".D" android:label="D" android:launchMode="standard" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait"/>
Я знаю из отладочной работы, которую я сделал, что A.onDestroy () вызывается после вызова метода onClick кнопки.Основываясь на этой информации, я думаю, что, и, конечно, я могу ошибаться, операционная система почему-то удаляет операцию A из стека истории.
Теперь я знаю, что этот вид проблемы уже решен здесьна stackoverflow, но я перепробовал все предложения, которые мог найти, и ни один не работал.Я хотел объяснить мой собственный случай.