2017-05-12 4 views
0

私はAndroidで問題に直面しています。アクティビティクラスを持つか、または異なる目的を呼び出す通常のオブジェクトを持つ

私は現在のゲームの状態を追跡することができるはずのゲームクラスを持っていて、現在の状態に応じてクラスが別のインテントを開くとします。

ゲームの各ステップで、異なるインテントがトリガーされる場合とされない場合があります。そのため、ゲームクラスはそれを追跡する必要があります。例えば

:今、何が起こる

public void nextStep() { 
     if(condition1) { 
      Intent intent1 = new Intent(context, Activity1.class); 
      context.startActivity(intent1); 
     } 
     if(condition2) { 
      Intent intent2 = new Intent(context, Activity2.class); 
      context.startActivity(intent2); 
     } 
    } 

は、両方の条件に該当する場合にポップアップする最初の活動が第二1です。 この問題については読んでいますが、適切な検索条件を使用したかどうかはわかりません。基本的に私が見つけたのは、メインのアクティビティを一時停止し、サブアクティビティが終了するのを待つことができないということでした。 また、単純なコールバックを使用しようとしました。

そのような問題やベストプラクティスのパターンがありますか?私はあなたがそういうものが必要なところに多くのアプリケーションがあるはずだということですね。

明確にするために、私は各アクティビティが次のアクティビティを知ることを望みません。すべてが1つのクラス(アクティビティまたは通常のオブジェクト)によって管理される必要があります。

誰かが私を助けたり、私がそれにこだわっているために私が検索できるいくつかの条件を教えてくれたらうれしいです。たくさん事前に

感謝:)答えることが

答えて

0

難しい私は、これらの意図が果たす機能かわからないが、あなたがそのフラグを持つ、キューに新しいインテントを追加することによっても提供されますように聞こえるので、あなたが別のアクティビティに参加していると言い、最初のアクティビティが終了するたびに次のインテントを実行します。

+0

キューのヒントありがとう、私はこれが存在するかどうかわからなかった、私は間違いなく試してみる:) インテントは、例えばプレイヤーが役割を選択できるターゲットを選択するなどの操作を行うことができます。だから、基本的にスキップすることができず、次のインテントが始まる前に終了しなければならないユーザー入力 – Entrail