我有一個3活動的應用程序。在Android的簡歷活動
我有主要活動。這稱爲第二項活動,然後調用第三項活動。我想在不輸入onCreate的情況下返回主要活動。
這是第三個活動代碼:
startActivity(new Intent(TerceraActiviry.this, Main.class));
我有一個3活動的應用程序。在Android的簡歷活動
我有主要活動。這稱爲第二項活動,然後調用第三項活動。我想在不輸入onCreate的情況下返回主要活動。
這是第三個活動代碼:
startActivity(new Intent(TerceraActiviry.this, Main.class));
如果您Activity
仍在運行,該代碼將它帶到前面,而無需輸入onCreate
Intent openMainActivity= new Intent(TerceraActiviry.this, Main.class));
openMainActivity.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivityIfNeeded(openMainActivity, 0);
謝謝。我在很多小時內搜索這個解決方案。你在幾分鐘內就解決了。 –
我想在第一行有1個額外的「)」。 –
爲了找回以前的活動,你必須完成的可見的一個,使用此:
finish();
如果活動開始一個結果,你應該給一個結果,那麼,像這樣:
Intent intent = new Intent();
intent.putExtra(KEY_RESPONSE, responseData);
setResult(RESULT_OK, intent);
finish();
你應該使用捉對來電者的活動結果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
// Test for the code you have used to start the Activity
}
}
希望它可以幫助, Regards
你想要的啓動模式標誌是clearTop。這將返回到主要活動的前一個實例,並清除活動堆棧中的第二個和第三個活動。例如,從代碼做到這一點:
Intent intent = new Intent(TerceraActiviry.this, Main.class));
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
這將調用onCreate爲主要活動 – Gabriel
使用launchMode singleTop – njzk2
singleTop只會重新如果一個實例已經在活動堆棧的頂部,則使用相同的實例,在這種情況下,它不會是 – kingraam