In der Aktivitätsgruppe, wie Sie die vorherige Aktivität wiederherstellen können (ohne Neustart)
Posted: 15 Feb 2025, 15:24
Ich habe eine Aktivitätsgruppe, die 4 Aktivitäten in einer Registerkarte hat. Zurück von jeder Aktivität wird die vorherige Aktivität neu gestartet. Meine Anforderung, wenn ich eine neue Aktivität nenne, sollte frisch gestartet werden. Und wenn ich auf die Rücktaste drücke, muss die vorherige Aktivität wiederhergestellt werden (ohne Neustart). Mein Code geht so. < /P>
Code: Select all
public void startChildActivity(String Id, Intent intent) {
Window window;
Log.e("startChildActivity","startChildActivity");
window = getLocalActivityManager().startActivity(Id,intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
if (window != null)
{
mIdList.add(Id);
setContentView(window.getDecorView());
}
}
public void finishFromChild(Activity child)
{
restartFlag=true;
Log.e("finishFromChild","finishFromChild");
LocalActivityManager manager = getLocalActivityManager();
int index = mIdList.size()-1;
if (index < 1) {
finish();
return;
}
manager.destroyActivity(mIdList.get(index), true);
mIdList.remove(index);
index--;
String lastId = mIdList.get(index);
Intent lastIntent = manager.getActivity(lastId).getIntent();
Window newWindow = manager.startActivity(lastId, lastIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
setContentView(newWindow.getDecorView());
}