Почему Toast переходит к последнему элементу в этом цикле?

#java #android #toast

#java #Android #toast

Вопрос:

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

     public void select(View v) {
    String tester = v.getTag().toString();

    if (tester.equals("Stage_01")) {
        for (int x = 0; x < stage_01.enemyList.length; x  ) {
            Toast.makeText(this, "Monsters in stage 1: "   stage_01.enemyList[x], Toast.LENGTH_SHORT).show();
        }
    }
}
  

Ответ №1:

Сообщения toast фактически накапливаются, когда они используются внутри цикла for, и то, что я испытал, — это небольшая задержка в сообщениях. Но если вы хотите уточнить, проходит ли цикл for через массив.

  1. Вы можете поместить System.out.println(«Монстры на этапе 1: » stage_01.enemyList[x]); внутри цикла for . Вы можете увидеть результат на вкладке run в Android studio.
  2. Вы можете поместить Log.d(«TAG», «Монстры на этапе 1: » stage_01.enemyList[x]); внутри цикла for . Вы можете увидеть вывод на вкладке logger в Android studio.

Обе эти вкладки расположены в нижней части Android studio.

Надеюсь, этот ответ поможет вам уточнить, работает ли обход и вывод отображается правильно.

Комментарии:

1. Спасибо. Я не мог понять, где должны были находиться журналы System.out.println, когда я пытался использовать это ранее, но забыл об этом. Спасибо за вашу помощь.