2011-10-07 11 views
1

我在使用意圖時遇到問題 在應用程序中有5個活動 傳遞意圖附加項的自然流程是A→B→C→D→E在應用程序中使用多個意圖

然而根據條件,C可以或可以不被啓動 當未啓動C,我想從乙啓動d直接 此時d將需要的數據和B

如果C是開始增加了一些額外的意圖,並開始D (D需要額外的A,B和C)

目前我有2個化妝2個d的副本接收意圖這樣

是有辦法其中i可具有單拷貝d,其中港島線取決於它是否被B或實例化ç 或啓動D應該獲得C所提供的額外意圖嗎?

我是一個完整的noob安卓,任何解決方法或解決方案歡迎.. 謝謝!!

回答

0

放一個額外的標誌,決定哪一個活動正在調用D.當你開始活動時檢查這個標誌D,如果你從C調用尋找額外的傳遞形式C,否則忽略它們。

在活動B.

意圖I = newIntent(上下文,D.class); i.putExtra(「fromC」,false); startActivity(i);

活性Ç

Intent i = newIntent(context, D.class); 
    i.putExtra("fromC", true); 
    // add more extras. 
    startActivity(i); 

在活動d:

​​

HTH。

+0

可以詳細說明嗎? 我知道我不能從2個不同的活動開始相同的活動 當我在D getIntent()它會強制關閉 –

+0

檢查我編輯的答案。 –

+0

感謝yashwanth..it工作 –

0

沒有必要製作活動D的副本。 當附加項不存在於意圖中時,則返回null,因此您必須檢查我在哪裏得到null。

+0

但從A和B的演員仍然會有b當有C啓動時,我想添加額外的C,然後開始D –

相關問題