我希望暂时dialog
({em>说几秒后它会自动取消)。
我用这段代码创建对话框:
Dialog dl=new Dialog(myclass.this);
dl.setTitle("HELLE WORLD");
dl.setCanceledOnTouchOutside(true);
dl.show();
我完成了对话:dl.cancel();
但写这个的时候? (例如,我完成了对话框5 sn之后。)
答案 0 :(得分:6)
为什么不使用Handler
和postDelayed
像这样,
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
dl.cancel();
}
}, 5000);
答案 1 :(得分:3)
确定正常创建一个对话框并开始倒数计时器,比如5秒,因为倒计时器会在onFinish
使用dialog.dismiss()
后到期,以便在一定时间后停止。
像这样,
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished
/ 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();
更多详情请转到This Link
答案 2 :(得分:1)
您可以为此目的使用Toast,也可以自定义吐司。
Toast.makeText(this, "Hello toast", 2000);
此指示将在屏幕上显示持续2秒的消息。要了解有关吐司的更多信息,请参阅 http://developer.android.com/guide/topics/ui/notifiers/toasts.html
但是如果你仍然坚持使用Dialog,在这个对话框上设置一个计时器,并在超时时关闭对话框。