Android 如何自动隐藏AlertDialog

Android 如何自动隐藏AlertDialog,android,android-alertdialog,Android,Android Alertdialog,我的android应用程序使用 AlertDialog.Builder.setMessage(“确定”).show() 但此面板不会自动隐藏。用户必须单击手机上的返回键。 如何将消息显示三秒钟,然后自动隐藏?尝试使用Toast类: Toast.makeText(这个“OK”,Toast.LENGTH_LONG.show()尝试线程显示警报一段时间。。。。 私有布尔mActive=true; 专用最终整流罩显示长度=2000; 螺纹飞溅踏板=新螺纹(){ @凌驾 公开募捐{ 试一试{ int=0;

我的android应用程序使用
AlertDialog.Builder.setMessage(“确定”).show()
但此面板不会自动隐藏。用户必须单击手机上的返回键。

如何将消息显示三秒钟,然后自动隐藏?

尝试使用Toast类:

Toast.makeText(这个“OK”,Toast.LENGTH_LONG.show()

尝试线程显示警报一段时间。。。。
私有布尔mActive=true;
专用最终整流罩显示长度=2000;
螺纹飞溅踏板=新螺纹(){
@凌驾
公开募捐{
试一试{
int=0;
while(mActive&(等待
使用消息处理程序隐藏对话框。试试这个

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

谢谢,toast也是可以实现的,但是我希望知道AlertDialog.Builder或toast有show()方法,但是为什么没有hide()方法^
AlertDialog
有一个
cancel()
方法,也许你可以用它和一个计时器来隐藏对话框。请确保test is test\u ok在取消它之前仍然显示,否则它将崩溃,因为必须在UI线程上调用
show
。另外,这与问题中的问题相反
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);
}