Android 延迟时显示进度条?
在我的应用程序中,我希望有5秒的延迟,在这5秒中,用户应该看到进度对话框 我试过这个Android 延迟时显示进度条?,android,delay,progressdialog,Android,Delay,Progressdialog,在我的应用程序中,我希望有5秒的延迟,在这5秒中,用户应该看到进度对话框 我试过这个 progressdialog.show(); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } progressdialog.dismiss(); 但是当线程睡眠时,ProgesDialog也
progressdialog.show();
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
progressdialog.dismiss();
但是当线程睡眠时,ProgesDialog也不会显示
new CountDownTimer(6000, 1000) {
public void onFinish() {
mProgressDialog.dismiss();
// my whole code
}
public void onTick(long millisUntilFinished) {
mProgressDialog.show();
}
}.start();
这个很好用
progressDialog.show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
progressDialog.dismiss();
}
},3000);
这很好在onFinish中编写代码有什么问题?使用线程而不是当前线程,当前您正在休眠当前ui线程。我在代码中使用了大约15-20次延迟,因此我必须进行大量更改。所以我在寻找替代方法正如mcd所说,你必须使用一个线程,我会使用一个处理程序来postDelayed,将代码放入一个方法,并在runnable run方法中调用该方法。在onFinish中编写代码有什么问题?使用线程而不是当前线程,目前你正在休眠当前的ui线程。我在代码中使用了大约15-20次延迟,所以我必须做很多更改。因此,我正在寻找替代方法正如mcd所说,你必须使用一个线程,我会使用一个处理程序来postDelayed,将代码放入一个方法中,并在runnable run方法中调用该方法。请不要只发布代码作为答案,而是解释代码的作用以及它如何解决问题。带有解释的答案通常质量更高,更有可能吸引更多的选票。请不要只发布代码作为答案,而是包括代码的作用以及它如何解决问题的解释。带有解释的答案通常质量更高,更有可能吸引更多的选票。
progressDialog.show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
progressDialog.dismiss();
}
},3000);