我想让虚拟进度对话框出现2或3秒钟。除了说检测之外,它实际上不会做任何事情。我有代码:
ProgressDialog dialog = ProgressDialog.show(this, "", "Detecting...",
true);
dialog.show();
dialog.dismiss();
但是我在演出和解雇之间放置了什么让对话框显示几秒钟?谢谢!
答案 0 :(得分:55)
正确的方法 - 它不会阻止你的主线程,因此UI保持响应:
dialog.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
dialog.dismiss();
}
}, 3000); // 3000 milliseconds delay
答案 1 :(得分:3)
progress.setProgress(100);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
pdialog.dismiss();
}}, 3000);
答案 2 :(得分:2)
您还可以使用Android的CountDownTimer
,它比任何其他发布的解决方案更有效,并且还通过其{{{}支持 定期发送 1}}方法。
看一下这个例子,
onTick()
答案 3 :(得分:0)
解雇和表演之间没有任何事情......时间取决于你。例如,对话框将在服务器访问之前显示,它将忽略获取结果意味着
dialog.show();
ServerCall();
dialog.close();
如果你需要空延迟意味着在那之间使用CountDownTimer调用..
答案 4 :(得分:0)
如果某人正在寻找Xamarin.Android
(使用C#)解决方案( of Peter Knego's answer ),请按以下步骤操作:
new Handler().PostDelayed(() => {
dialog.dismiss();
}, 1000);