2011-10-20 10 views
0

私はチェーン内で3つのアクティビティを開始しようと考えていますが(Androidの主要なアクティビティA、B、Cのように表示されます)、Androidでこれを行う方法を見つけることができませんでした。なぜ、私はアプリケーションの状態を復元するためにそれをやらなければならないのか、私に聞かないでください。任意のアイデアをAndroid - どのように活動の連鎖を開始するには?

おかげ

ウェイポイント

編集:

[OK]を、私はサイクルの場合で活動を開くしようとしているが、それらが適切に開かれていません。彼らは連鎖していますが、私が戻るボタンを押したときにだけ再現され、それらは私に表示されます。私はいくつかの解決策が必要です:Aが開いている場合はAを開きますB - >はい、Bを開く、

答えて

-1
各アクティビティに onResume -methodをオーバーライド

。チェックとアクティビティの開始をそこに追加します。

になりました場合には例えば( conditionはあなたが持っているかもしれないどんな条件である(Bが開始されなければならない場合、あなたの例では、C等を開始する必要があります)と intentForTheNextActivityはチェーン内の次の活動のために意図され
public void onResume() { 
    if(condition) 
    startActivity(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からオープンしています素早く、その後、完全に開いて、すべてthats ... – Waypoint

-1

あなたが試したものの任意の情報を提供しなかったので、私はあなたの最も簡単な答えあげる:

方法startActivity(Intent intent)、より多くの情報hereを。


編集:うーん、これはどう?私は今私の周りにSDKを持っていないが、私は概念を提供することができます。私はそれが動作するかどうかは分かりませんが、私はそれがあなたをsoultionに導くことを願っています。

のは、これは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。

類似のデータがアクティビティ内にあることを理解していますが、正しいデータ構造を使用すると、実際に必要なときにいつでもどこでもデータにアクセスできます。

関連する問題