현재 ProgressDialog
이있는 AsyncTask
이 있습니다. OnDismissListener
을 setOnDismissListener
으로 설정 한 다음 AsyncTask
을 취소합니다. 문제는 다시 버튼을 누르 든 화면의 아무 곳에서나 ProgressDialog
(이후는 AsyncTask
)이 닫히는 것입니다.Android ProgressDialog가 닫습니다. 소스 검색
나는 내가 ProgressDialog
이 기각 된 방법을 알고, 그리고 다시 버튼을 누를 경우 다음 나는 AsyncTask
을 취소 것이며, ProgressDialog
외부 영역을 누를 경우, 난 그냥 ProgressDialog
을 최소화하는 지점에 도달하고 싶습니다 AsyncTask
은 계속됩니다.
OnDismissListener
의 집합을 어떻게 검색합니까? 제가하려는 일을 성취 할 다른 방법이 있습니까?
감사 (울부 짖는 소리 코멘트 기준)
편집 :
이 내 코드입니다. 두 리스너 내부에 중단 점을 배치하고 이제는 대화 상자를 취소하는 방법 (뒤로 단추 또는 대화 상자 외부에서), 두 리스너 모두 호출됩니다.
@Override
protected void onPreExecute() {
mProgressDialog = new ProgressDialog(mContext);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mProgressDialog.setCancelable(true);
mProgressDialog.show();
mProgressDialog.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
(SyncOperation.this).cancel(true);
}
});
mProgressDialog.setOnCancelListener(new ProgressDialog.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
(SyncOperation.this).cancel(true);
}
});
}
는 2 청취자, onDismiss 있습니다 및 onCancel – njzk2
설명이 관련 코드를 게시하는 것으로 충분하지 않습니다. – GrIsHu
언급 한 작업 중 하나가 수행되면 두 리스너가 모두 호출됩니다. – Meir