2012-11-26 4 views
1

진행률 대화 상자가있는 응용 프로그램이 있습니다 (pd = new ProgressDialog(ActivityName.this); ... pd.show();으로 작성) 모든 것이 잘 작동하지만 대화 상자 주위를 클릭하거나 누르면 대화 상자가 닫히고 활동 내용이보기 앞에 표시됩니다 대화 상자에서 처리하는 프로세스가 예상대로 계속 실행되며 화면 방향을 변경하면 대화 상자가 다시 나타납니다.진행률 대화 상자를 계속 유지하십시오.

대화 상자를 맨 위에 놓을 수 있습니까 (즉, 대화 상자 외부의 탭을 비활성화)합니까?

참고 : 에뮬레이터에서 클릭이 ... 예상대로 실제 전화 (SGII, A4.0.4)에서 진행 대화 상자의 환경을 두드리고하여 대화 상자를 닫습니다 사용할 수 없습니다

코드 :

mProgressDialog = new ProgressDialog(DownloaderActivity.this); 
mProgressDialog.setMessage(DownloaderActivity.this.getString(R.string.downloadin‌​gfile));  
mProgressDialog.setIndeterminate(false); 
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
mProgressDialog.show(); … mProgressDialog.dismiss(); 
+0

코드가 도움이됩니다. –

+0

코드는 다음과 같습니다 : 'mProgressDialog = new ProgressDialog (DownloaderActivity.this); mProgressDialog.setMessage (DownloaderActivity.this.getString (R.string.downloadingfile)); mProgressDialog.setIndeterminate (false); mProgressDialog.setProgressStyle (ProgressDialog.STYLE_HORIZONTAL); mProgressDialog.show(); ... mProgressDialog.dismiss(); ' – Malis

답변

8

setCanceledOnTouchOutside() 메서드를 false로 설정합니다. Take a look at the android API

아직 해결되지 않았지만 안드로이드 시스템의 버그 일 가능성이 있습니다. 이 문제를 해결할 수있는 한 가지 방법은 onCancelListener를 사용하여 대화 상자가 취소되면 리스너의 코드가 진행이 완료되었는지 확인합니다. 그렇지 않으면 대화 상자를 다시 시작할 수 있습니다.

+0

고마워요. 나는 기본 동작이 될 것으로 예상 했었지만 그 반대가 사실 인 것 같습니다. – Malis

관련 문제