我想显示一个警告对话框,5秒钟后我就在某个片段上。
哪种方法最安全? 避免例如在片段处于暂停或销毁的过程中显示对话框
任何建议?
答案 0 :(得分:3)
在Fragment onCreateView()
方法中使用此代码:
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
if(this!=null && !isFinishing()){
final ProgressDialog dialog = ProgressDialog.show(YourActivity.this,
"Please Wait... ", "Loading... ", false, true);
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
}
}
}, 5000);
这将在5秒内显示ProgressDialog
。一旦5秒过去,它会检查Activity
是否为空或者是否处于完成状态。如果不是,您的ProgressDialog
会显示,只需按回按钮即可取消。
答案 1 :(得分:0)
final ProgressDialog dialog= ProgressDialog.show(this,"Doing something", "Please wait....",true);
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(5000);
dialog.dismiss();
}
catch(InterruptedException ex){
ex.printStackTrace();
}
}
}).start();
这个解决方案对我有用。它会自动关闭对话框。