1
我有2個活動 - 「A」包含帶有會話列表的片段,「B」代表對話(顯示它的消息),在B中我還可以發送新消息。 我希望能夠每次在B中發送消息時更新A的對話列表,所以當我點擊android的後退按鈕時,A活動的視圖被更新。Android,操縱以前的活動
對於我來說,問題的核心是,當我單擊Android的後退按鈕時,我不會通過Intent啓動A,所以我不知道如何獲得此效果。
謝謝你的幫助!
我有2個活動 - 「A」包含帶有會話列表的片段,「B」代表對話(顯示它的消息),在B中我還可以發送新消息。 我希望能夠每次在B中發送消息時更新A的對話列表,所以當我點擊android的後退按鈕時,A活動的視圖被更新。Android,操縱以前的活動
對於我來說,問題的核心是,當我單擊Android的後退按鈕時,我不會通過Intent啓動A,所以我不知道如何獲得此效果。
謝謝你的幫助!
當A位於backstack上時,不能保證A的實例甚至存在於內存中。如何從B處理A的問題的答案是而不是。
做一些正確的方法:
Parcelable
或Serializable
,您可以通過Intent
活動之間傳遞。如果您從B開始搜索結果並從Intent
返回到A的onActivityResult
,您可以將其從B傳回A。SharedPreferences
文件中一樣。Service
中。這將比每個活動從持久存儲中加載它快,但是您可能仍然需要使其持續存在,以便在Service
關閉時不會丟失它。
'我不是通過意圖啓動A'。如果A是一項活動,您必須以意向開始活動。它是你的應用程序的主要活動嗎? –
在這種情況下,活動A將在顯示活動B時暫停。由於在任何給定時間只能顯示一個活動,因此在它們之間進行溝通是沒有意義的。你應該做的是在Activity B中更新數據源,並在Activity A的onResume()中刷新/重新加載數據。 –
最好的解決方案是使用內容提供者 – Pooya