我有一個具有HomeActivity和4個活動A,B,C,D的應用程序。 我想要點擊HomeActivity中的按鈕start_activity_A_btn
來活動星級活動A,並且A開始B,B開始C,C開始D,然後done
按鈕將我帶到HomeActivity。
注意:在每個活動(A,B,C,D)中,我有一些data
保存並按下done
按鈕後返回HomeActivity。如何在打開多個活動時返回到第一個活動
0
A
回答
1
你需要做使用下面的標誌在你的意圖是什麼(請檢查鏈接,它解釋了類似的情況,你所面臨的一個):FLAG_ACTIVITY_REORDER_TO_FRONT。所以,在你的活動d,在onClickListener爲完成按鈕,這裏是你必須使用代碼:
Intent intent = new Intent(this, ActivityAname.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
intent.putExtra("data", dataYouReceiveFromABCD);
startActivity(intent);
這將讓你的一個活動恢復。
現在,關於「數據」,如果可能的話,您將不得不使用某個分隔符將這些數據存儲在字符串中(因爲您沒有告訴我們這些數據是什麼),所以如果它是一個用戶名和密碼,你可以使用字符的隨機組合將有可能永遠不會發生(「246 @ $ ^」),其將二者分開,然後自顧自地創建您繼續建立在A,B,C和d,然後終於在一個字符串D你把這個String作爲額外的意圖(檢查我上面發佈的代碼)。如果是一些其他類型的數據,那麼,是否可以幫助你也許可以序列化。但是,如果您確實使用帶有預定分隔符的字符串,那麼您只需要在活動A中使用活動A的onResume()方法中的以下代碼。
if(this.getIntent().getExtras().getString("data") != null)
{
String data = this.getIntent().getExtras().getString("data");
//do some stuff here with that data
}
0
如果您需要返回活動的數據,則應使用startActivityForResult啓動ABCD。這非常類似於您的HomeActivity打開一些對話框,一旦完成活動(通過按完成或取消,取決於),您在HomeActivity中獲得onActivityResult。
+0
我知道這個方式,但我要關閉所有選項卡和回程從d到HomeActivity而不經過A,B,C –
相關問題
- 1. 如何在第二個活動中打開多個按鈕?
- 2. 第一個活動是重建時的setResult()返回從第二活動
- 3. 在創建另一個活動時打開對話框活動
- 4. 無法從android studio的第一個活動中打開第二個活動
- 5. 如何在活動已打開時打開活動屏幕?
- 6. 在第二個活動中打開新活動
- 7. Android - 打開一個網頁並返回到活動?
- 8. 返回上一個活動
- 9. 返回上一個活動
- 10. 返回上一個活動
- 11. ShareActionProvider在返回到活動時自動打開
- 12. 如何從第三個活動回到第一個Android
- 13. 在android工作室的第二個活動中打開第三個活動
- 14. 當前活動使用SurfaceView時如何返回到上一個活動?
- 15. 如何返回上一個活動?
- 16. 發送數據返回到其他活動打開的當前活動的上一個活動
- 17. 打開另一個活動時出錯?
- 18. NPException當返回到另一個活動
- 19. 返回到上一個活動
- 20. 如何將Arraylist從第一個活動傳遞到第二個活動?
- 21. 應用程序正在返回到第一個活動
- 22. 我的第二個活動是沒有返回的第一個
- 23. 手動返回上一個活動
- 24. Android主要活動有2個按鈕在webview中打開第二個活動
- 25. android打開一個新的活動並返回
- 26. 如何返回到Android的第三個活動?
- 27. 新活動關閉時如何返回到原始活動?
- 28. 返回上一個活動阻止回來的初始活動
- 29. 如何在第一個活動中接收第二個活動的意圖
- 30. 當第二活動開始時第一活動不會停止
我希望接收的數據被INT [],所述陣列將被從HomeActivity發送並且將具有在每一個活性的一些修改,B,C,d,然後HomeActivity將再次收到它 –
我會嘗試你的代碼,並給你的反饋,謝謝 –
它的工作原理謝謝 –