2012-05-26 3 views
0

진행중인 대화 상자가 나타나지 않습니다. 차단 호출을 제거하여 해결되었습니다.진행 대화 상자 차단

내 목적은 인터넷에서 많은 양의 데이터를 다운로드하고 최종 사용자에게 다운로드 상태에 대한 정보를 제공하는 것이지만 다음 단계로 진행하기 위해 다운로드를 완료하기 위해 데이터를 기다려야하므로 코드 실행을 차단하십시오.

차단하면 진행 대화 상자가 표시되거나 중지되지 않습니다. 이러한 작업을 가장 잘 수행하기위한 팁이 필요합니다. 내 작업이 간단하기 때문에 작업 완료 청취자를 구현하는 것이 과도하다고 생각하며 문제를 해결할 다른 방법이 있는지 궁금합니다.

new NameOFClass().execute(); 

이 같은이 첫 번째 시도 :

@Override 
protected void onPreExecute() { 

dialog= ProgressDialog.show(YourActivity.this, "", "MessageYouWantToDisplay"); 

}  


@Override 
protected void onPostExecute(T result) { 

dialog.dismiss(); 

} 

당신은 입력하여 AsycTask 확장하는 클래스를 호출

답변

0

이 :::

@Override 
    protected void onPreExecute() { 
     dialog = new ProgressDialog(YourActivity.this); 
     dialog.setMessage("Progress start"); 
     dialog.show(); 
     Log.d(TAG, "Showing dialog"); 
    } 

    @Override 
    protected void onPostExecute(T result) { 
     dialog.dismiss(); 
     Log.d(TAG, "Dismissing dialog"); 
    } 
+0

전체 작업이 포함 된 첫 번째 게시물 업데이트 – Ruuhkis

+0

super.onPreExecute(); & super.onPostExecute (result); –

+0

문제가 .. .get() 결과로 호출하여 주 스레드가 계속 차단되지 않았습니다. 완전한 리스너를 구현해야합니까? 아니면 실행에서 코드를 차단하는 좀 더 쉬운 방법이 있습니까? – Ruuhkis

1

당신이 사용할 수 있습니다 시도 테스트하고 어떻게 작동하는지 이해하기 위해 doInBackground 메소드에 Thread.sleep()을 두십시오. 그리고 그 후에 당신의 진정한 방법, 데이터 등으로 프로젝트에서 사용하십시오.

관련 문제