我有一个方法,它从一个文件中获取一个字符串,并将其放在名为username的字符串变量中,因为从文件中读取需要时间,所以我希望出现一个progressDialog,直到函数完成,preogress对话框确实出现,但在我使用progressDialog.dismiss()时不会被清除;
代码如下:
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;
}发布于 2017-02-22 16:59:05
确保对话框不为空的第一件事。
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();
}
}用法:
showProgressDialog(“正在加载”);
或
dismissProgressDialog();
https://stackoverflow.com/questions/42386105
复制相似问题