사용자가 뒤로 키를 눌렀을 때 취소하려고하므로 onCancel 메서드가 구현 된 진행 대화 상자가 있지만 사용자가 화면을 누를 때 문제가 발생합니다. 대화 상자가 취소되고 onCancel 메서드가 호출됩니다.사용자가 화면을 누를 때 onCancel 대화 상자가 호출 중임
어떻게 피할 수 있습니까?
public void showProgressDialog(Context ctx, String text_connecting) {
if (this.progress == null) {
this.progress = ProgressDialog.show(ctx, "", text_connecting, true,
true);
this.progress.setOnCancelListener(new OnCancelListener() {
public void onCancel(DialogInterface dialog) {
hideProgressDialog();
}
});
}
this.progress.show();
}
에서 참조 모습이 코드는 스레드에서 표시 트랙의 경우 모션 이벤트를 확인합니다. set cancel-able을 false로 표시하면서 모션 이벤트가 다운되면. 상수 폴링을 없애고 CPU를 계속 사용하려면 로컬 브로드 캐스트를 사용할 수도 있습니다. – Skynet
또 다른 해결책은 onBackPress를 재정의하는 것입니다. 대화 상자를 취소 할 수 없게 설정하고 뒤로 누 르면 취소합니다. 그렇게하면 터치 이벤트에서 대화가 취소되지 않습니다. 어떻게 그것이 맞고 그렇게 맞습니까! – Skynet