12

Android用のマッチングゲームを作成していますが、ユーザーがマッチすると、「マッチ!」というダイアログボックスが表示されます。しかし、これを行う方法がわかりません。Thread.currentthread()。sleepを使用すると、ダイアログが表示されません。

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

何も起こりません-プログラムはほんの一瞬ハングします。たった1秒間ポップアップしたいのですが、別の種類のポップアップタイプのものがあればそれもいいでしょう。

4

2 に答える 2

18

画面に短い時間ポップアップでテキスト メッセージを表示しようとしていますか?

この種のアラートには、トーストが最適です。

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

それはあなたが探しているものですか? ここにJavaドキュメントがあります。

于 2009-01-18T08:18:31.040 に答える
4

ダイアログは現在のスレッドに表示されますが、スレッドをスリープ状態にしているため、表示されません。イベント スロットリング以外に、UI スレッドから大幅に遅れてスリープを呼び出したい場合はほとんどありません。

この場合、前のポスターが示唆したように、トーストを使用するのが最も簡単です。将来やりたい仕事を処理するための他のいくつかの方法

  • Java タイマー。アクションは
    別のスレッドで発生するため、GUI 呼び出しに注意する必要があります。
  • ビューには postDelayed(Runnable action, long delayMillis) メソッドがあり、およそ delayMillis の後に UI スレッドで Runnable が実行されます。
于 2009-05-29T17:58:47.973 に答える