2011-10-20 56 views
0

我打算在一個鏈中開始3個活動(例如從主要的開放活動A,B和C,這對用戶來說都是可見的),但是我無法找到某種方式在Android中如何做到這一點。不要問我爲什麼,我只需要這樣做來恢復我的應用程序狀態,以前是在哪裏。Android - 如何開始連鎖活動?

感謝您的任何想法

航點

編輯:

好吧,我已經試過在週期開業活動,但他們無法正常打開。他們被鏈接,但只有當我按下後退按鈕並且他們向我展示時才重新創建。我需要一些解決方案,導致:打開A,如果打開A,檢查是否需要打開B - >是,打開B,檢查是否需要打開C - >是,打開C,不需要打開另一個活動 - >完成

回答

-1

覆蓋在每個活動onResume - 方法。在那裏添加支票和活動的開始。

public void onResume() { 
    if(condition) 
    startActivity(intentForTheNextActivity); 
} 

哪裏condition是你可能擁有的任何條件(在你的例子,如果乙方應開始,C應啓動等)和intentForTheNextActivity是鏈中的下列活動的意圖(例如,如果現在處於,意圖是B等)。


我很難明白你想要做什麼。有時它看起來像是一條鏈(A打開B,B打開C等),有時似乎你想要一些隨機流(A打開B,B打開A,A打開B,B打開C) - 這使得它很難給你一個具體的答案。

什麼我能做的,就是建議您在下列讀了起來:

Activity Lifecycle

Starting Activities and getting results(特別是方法startActivityForResultsetResult

如果你需要比這更多的幫助 - 你需要更好地解釋自己(也許用圖表或者你迄今爲止嘗試過的一些示例代碼)。

+0

問題是如果我有一個動態類(A→B-> A-> B-> A-> B),並且在您的示例中我從A:B打開(但不是完整的,只是一些快速,然後A完全打開,這就是所有... – Waypoint

-1

你沒有提供的,你已經嘗試了任何信息,所以我給你的最簡單的答案:

方法startActivity(Intent intent),更多信息here


編輯:嗯,這個怎麼樣?現在我周圍沒有SDK,但我可以提供一個概念。我不確定它是否有效,但我希望它會引導你靈魂。

讓我們想象一下,這是ActivityA代碼:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    if (doINeedActivityB) { 
     Intent activityC = new Intent(this, ActivityC.class); 
     this.startActivity(activityA); 
    } 
    if (doINeedActivityC) { 
     Intent activityC = new Intent(this, ActivityC.class); 
     this.startActivity(activityC); 
    } 
} 
+0

編輯。但是,即使沒有我提供的信息不足,您的答覆也沒有提及開啓多個活動的情況。希望編輯,幫助 – Waypoint

+0

@Waypoint:檢查我的編輯。 – Moyshe

0

在開始任何活動之前,決定應該開始哪項活動。 讓我們把你的情況>>首先檢查B,如果是檢查C,現在打開所需的1。

我明白可比較的數據是在活動內部,但正確的數據結構將永遠允許您訪問數據,無論何時何地實際需要。