作者hth9494 (hth9494)
看板AndroidDev
標題[問題] 請問如何保持資料在Activity之間?
時間Mon May 14 22:37:50 2018
我有三個Activity A B C
導航順序是從A -> B -> C
C可以透過返回箭頭回到B
B也可以從返回箭頭回到A
返回箭頭指的是我在AndroidManifest.xml設定parentActivityName後
出現在App bar左方的箭頭,不是手機上Home鍵旁邊的
現在要從A傳一個ID到B,然後再傳到C
最後在C用該ID存取資料庫
一開始正常導航用A -> B -> C沒問題
但從C回到B(返回箭頭)再進到C的話,ID就不見了
(也就是C -返回箭頭-> B -> C會出問題)
不過如果是用Home鍵旁邊的back鍵從C回到B,再進到C,就沒事
(也就是C -back鍵-> B -> C沒事,ID還在)
我試了一下是因為用返回箭頭的話,B會重新從getIntent試圖存取A傳的ID
但是此時的B是從C來的,而不是從A,所以拿不到ID
想請問一下要怎麼讓C -返回箭頭-> B -> C這個過程保持ID存在?
謝謝
以下是code
ActivityA
https://pastebin.com/0PKwyYiP
ActivityB
https://pastebin.com/7K16W6ZZ
ActivityC
https://pastebin.com/JnUGU5uE
AndroidManifest.xml片段
https://pastebin.com/XvbhF9rS
* ActivityA和B都只有一個Button,C只有一個TextView,layout就不貼了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.55.181
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1526308681.A.E06.html
1F:推 taco2548: intent.putExtra(ActivityB.THE_KEY, "ID need..."); 05/14 23:23
2F:→ taco2548: 照你的方式寫,雖然我覺得很怪 05/14 23:24
3F:推 anandydy529: 去找ACache,直接把你的資料塞給他 05/14 23:34
4F:推 daniel098962: 用SharedPreferences呢? 他會存在你的app裡 任何act 05/15 09:09
5F:→ daniel098962: ivity都可取用或複寫 05/15 09:09
6F:→ wvwvwvwvwv: 寫個CLASS 再用STATIC存變數呢? 05/15 18:03
8F:→ hth9494: 已解決 方法就是wv大說的 感謝 05/15 20:04