0

私の Android アプリケーションは使用して いますAlertDialog.Builder.setMessage("OK").show(); が、このパネルは自動的に非表示になりません。ユーザーは、電話のリターン キーをクリックする必要があります。メッセージを 3 秒間表示した後、自動的に非表示にするにはどうすればよいですか?

4

3 に答える 3

1

メッセージハンドラを使用してダイアログボックスを非表示にします。これを試して..

AlertDialog test_ok = null;
android.os.Handler messagHandler = null;
Message msg = new Message();

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    test_ok = new AlertDialog.Builder(this).setMessage("ok").create();
    test_ok.show();

    messagHandler = new android.os.Handler() {
        public void handleMessage(android.os.Message msg) {
            switch (msg.what) {
                case 1:
                    test_ok.dismiss();
                    break;
            }
        };
    };

    msg.what = 1;
    messagHandler.sendMessageDelayed(msg, 4000);
}
于 2012-04-18T05:50:33.250 に答える
-1
Try Thread to show alert for some time....

private boolean mActive = true;
private final int SPLASH_DISPLAY_LENGHT = 2000;

Thread splashTread = new Thread() {
            @Override
            public void run() {
                try {
                    int waited = 0;
                    while (mActive && (waited < SPLASH_DISPLAY_LENGHT)) {
                        sleep(70);

                        waited += 70;

                    }
//set Alert dialog here
                    AlertDialog.Builder.setMessage("OK").show();

                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        };
        splashTread.start();
于 2012-04-18T04:47:16.727 に答える
-1

Toast クラスを使用してみてください。

Toast.makeText(this, "OK", Toast.LENGTH_LONG).show();

于 2012-04-18T03:51:31.893 に答える