Timed всплывающее окно в Android

голоса
10

Я создаю комбинационную игру для Android, и когда пользователь получает матч, диалоговое окно должно появиться говоря «Match!» Я не могу понять, как сделать это, хотя. Если я использую Thread.currentThread (). Сон, никогда не появится диалоговое окно.

android.app.AlertDialog a = new android.app.AlertDialog.Builder(match.this).setTitle(Match!).show();
Thread.currentthread().sleep(1000);
a.dismiss();

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

Задан 18/01/2009 в 00:14
источник пользователем
На других языках...                            


2 ответов

голоса
16

Вы пытаетесь показать текстовое сообщение в всплывающем окне в течение короткого периода времени на экране?

Для таких предупреждений тостов велики:

Toast.makeText(this, "Match!", Toast.LENGTH_LONG).show();

Это то , что вы ищете? Вот Java Doc.

Ответил 18/01/2009 в 09:18
источник пользователем

голоса
4

Отображается диалоговое окно в текущем потоке, но вы ставите нить спать, так что никогда не показывает вверх. Кроме дросселирования событий, есть несколько случаев, когда вы хотите вызвать сон с существенной задержкой от потока пользовательского интерфейса.

В этом случае с помощью Toast проще, как и предыдущий плакат предложил. Несколько других способов справиться с работой, которую вы хотите сделать в будущем

  • Java Таймеры. Действие будет происходить
    в другом потоке , так что вы должны быть осторожны , что графический интерфейс вызовов вы делаете
  • Представления имеют метод postDelayed (Runnable действия, длинные delayMillis) приведет к тому, Runnable будет выполняться на UI потоке после того, как примерно delayMillis.
Ответил 29/05/2009 в 18:58
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more