Java progressDialog在progressDialog.Disclose()之后不解除;
我有一个方法,可以从文件中获取字符串并将其放入名为username的字符串变量中,因为从文件中读取需要时间,我希望在函数完成之前显示progressDialog,Pregress对话框确实会出现,但在我使用progressDialog.Disease()时不会取消 代码如下:Java progressDialog在progressDialog.Disclose()之后不解除;,java,android,android-studio,progressdialog,Java,Android,Android Studio,Progressdialog,我有一个方法,可以从文件中获取字符串并将其放入名为username的字符串变量中,因为从文件中读取需要时间,我希望在函数完成之前显示progressDialog,Pregress对话框确实会出现,但在我使用progressDialog.Disease()时不会取消 代码如下: public String loadUserFromFile(){ progressDialog = new ProgressDialog(this); progressDialog.setTitle("
public String loadUserFromFile(){
progressDialog = new ProgressDialog(this);
progressDialog.setTitle("Please wait...");
progressDialog.setMessage("Loading User");
progressDialog.show();
String username = "default";
String fileName = "savedUserFile.txt";
FileInputStream fis;
try {
fis = openFileInput(fileName);
InputStreamReader inputStreamReader = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(inputStreamReader);
username = br.readLine();
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
username = username.replaceAll("\\s+","");
progressDialog.dismiss();
return username;
}
首先要确保对话框不为空
ProgressDialog mProgressDialog;
mProgressDialog = new ProgressDialog(thisActivity);
mProgressDialog.setCancelable(false);
//If you want to show progress dialog
public void showProgressDialog(String message) {
if (mProgressDialog != null) {
mProgressDialog.setMessage(message);
mProgressDialog.show();
}
}
//To dismiss progress dialog
public void dismissProgressDialog() {
if (mProgressDialog != null && mProgressDialog.isShowing()) {
mProgressDialog.dismiss();
}
}
用法:
显示进度对话框(“加载”)
或
dismissProgressDialog() 尝试调试,看看执行是否真的达到了disclose方法。我觉得你的代码不错。两个catch块中的call dismise调用两个catch块中的dismise都有效,谢谢