0

Я пытаюсь запустить какую-либо деятельность по одному с этим кодомAndroid: Приостановка цикла ожиданию ребенок деятельность, созванное startActivityForResult закончить()

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); 

       } 

Я хочу, чтобы получить намерение каждый раз, когда ребенок активность запускается, что-то делает, завершайте, родительская активность будет ждать выхода каждого из них, а затем вызывает следующую операцию. Но цикл for запускается и завершается до отображения любой активности. Есть ли решение для этого?

+1

Не используйте петлю. Когда кто-то запустит «Активность» и вернется, начнется основной метод 'onActivityResult()' Activity 'Activity'. Начните следующую «Активность». –

+1

Thankyou @MikeM, я внедрил ваше решение, это сработало :) – Andiana

ответ

1

Вы можете попробовать и реализовать очередь для хранения ваших карт. Затем вы получаете карточку из очереди, запускаете намерение и ждете результата. Когда вы получите результат, вы получите следующий элемент из очереди и ao, пока вы не обработаете все карты. Затем вы продолжаете движение.

0

Не получить вас, что вы точно хотите задать здесь. но .. Используйте Handle.postDelayed (новый Runnable() {.// ваш код в методе run() .....}, (ограничение по времени, например, 2000)) соответственно. Надеюсь, это вам поможет.

Смежные вопросы