我有類A,B和C.類A向B發送意向,B運行C,C返回到B .....但是然後在B類的onCreate內部它希望類A的意圖。但是因爲它來自C類,但它並沒有得到它,但我仍然需要A類的意圖獲取意圖額外和onCreate方法?
有關如何解決此問題的任何想法?我想一個解決方案可能是將extra.getString存儲在數據庫或類似的地方?
Bundle extras = getIntent().getExtras();
newString = extras.getString("ID");
我有類A,B和C.類A向B發送意向,B運行C,C返回到B .....但是然後在B類的onCreate內部它希望類A的意圖。但是因爲它來自C類,但它並沒有得到它,但我仍然需要A類的意圖獲取意圖額外和onCreate方法?
有關如何解決此問題的任何想法?我想一個解決方案可能是將extra.getString存儲在數據庫或類似的地方?
Bundle extras = getIntent().getExtras();
newString = extras.getString("ID");
所以,如果我猜中了:
Activty答:
Activty乙
活動Ç
現在:是否活動C:再次使用面漆(),或
啓動活動B
迴歸活動B?
如果1,當您返回到活動B時,它仍然具有您在第一次創建時設置的所有內容。因此,您需要從B的onCreate中的意圖中提取所有內容。如果使用2,則只需將信息沿着用於啓動每個活動的意圖向下傳遞。
如果您可以(a)確認序列如果和(b)澄清爲什麼上述不會工作,我相信我們可以向前移動。
方法'1。使用finish()返回到Activity B,'更好。只需將活動B中的值存儲在** Class Level Variables **中,即可在Activity B的onCreate()中進行存儲。正如我在上述答案中所建議的那樣。 – user370305 2013-03-11 11:16:06
@ user370305我同意這是更好的方法,我只是試圖找出問題作者實際上在做什麼,以幫助他們從他們開始的地方開始。 – 2013-03-11 17:32:41
由於我不完全知道您的活動流程,所以這是一個解決方案,但可能不是合適的解決方案。
當你開始新的活動,把一個額外的
intent.putExtra("ID_FROM_A", value); // except for ActivityA value = mIdFromA
startActivity(intent);
在接收活動
onCreate()
{
mIdFromA = getIntent().getStringExtra("ID_FROM_A");
}
您的意思是:A-> B-> C-> A(如您所寫)或A-> B-> C-> B(您後面暗示)? – 2013-03-10 20:18:49
哦,我apoligize,我的意思A-> B-> C-> B – user1876202 2013-03-10 21:41:25
是唯一你想要的是從字符串「ID」 – 2013-03-10 22:10:47