0

私はアンドロイド:終了するためにstartActivityForResultによって呼び出された子アクティビティを待っているにFORループを一時停止()

for (Card c : cards) { 
        i++; 
        Intent intent = new Intent(this, OneChoiceActivity.class); 
        intent.putExtra("mode", "oneChoice"); 
        intent.putExtra("cardID", c.getId()); 
        intent.putExtra("totalNumber", cards.size()); 
        intent.putExtra("currentNumber", i); 
        startActivityForResult(intent, 1); 

       } 

が、私は毎回子供を意図を取得したい、このコードで1によっていくつかのアクティビティ1を起動しようとしていますアクティビティが開始され、何かをして終了し、親アクティビティが各子が終了するのを待ってから、次のアクティビティを呼び出します。しかし、forループは、すべてのアクティビティが表示される前に実行され、完了します。それには解決策はありますか?

+1

ループを使用しないでください。 'Activity'が終了して戻ると、メインの' Activity'の 'onActivityResult()'メソッドが実行されます。そこに次の「活動」を開始してください。 –

+1

ありがとう@MikeM、私はあなたのソリューションを実装しました、それは働いています:) – Andiana

答えて

1

カードを保管するためのキューを実装してもかまいません。その後、キューからカードを取得し、インテントを起動して結果を待ちます。結果を受け取ると、すべてのカードを処理するまで、キューから次の要素が取得されます。その後、あなたの流れを続けます。

0

あなたが正確にここで聞きたいものを得ることができません。しかし... .. Handle.postDelayed(new Runnable(){。}実行メソッド()のコード。}、(時間制限、例えば2000)) これがあなたに役立つでしょう。

関連する問題