2017-02-22 1 views
0

파일에서 문자열을 가져 와서 username이라는 String 변수에 넣는 메서드가 있습니다. 파일에서 읽는 데 시간이 걸리기 때문에 함수가 끝날 때까지 progressDialog를 표시하고 싶으면 사전 대화 상자가 나타나지만 나타나야합니다. progressDialog.dismiss();를 사용할 때 해고되지 않습니다.progressDialog 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; 
} 
+0

실행이 실제로 dismiss 메소드에 도달했는지 확인하기 위해 디버그를 시도하십시오. 귀하의 코드는 나에게 잘 어울립니다. – Fustigador

+1

두 통화 모두에서 통화 끊기 – user2025187

+0

두 통화 차단 모두에서 통화 끊김, 감사합니다. –

답변

0

대화가 null가 아닌 것을 확인하기 위해 1 일 :

는 코드입니다.

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();

관련 문제