AsyncTask 내에 다운로드 진행 상태로 사용자 정의 진행 대화 상자가 있습니다. 내 사용자 지정 취소 단추를 눌렀을 때 doInBackground를 중단하고 싶습니다. 대화 상자가 사라질 때 doInBackground가 문제없이 다시 시작됩니다!doInBackground 대화 상자가 닫힐 때 취소 되었습니까?
1
A
답변
1
대화 상자의 취소 이벤트에서 AsyncTask.cancel(true)
으로 전화 할 수 있습니다. 이를 위해 AsyncTask에 대한 참조가 필요합니다. 이것은 작업이 시작될 때 초기화되는 인스턴스 변수 일 수 있습니다. 그런 다음 asyncTask.doInBackground()
메서드에서 isCancelled()
을 확인하거나 onCancelled()
메서드를 무시하고 거기에서 실행중인 작업을 중지 할 수 있습니다.
예 :
//Asynctask instance variable
private YourAsyncTask asyncTask;
//Starting the asynctask
public void startAsyncTask(){
asyncTask = new YourAsyncTask();
asyncTask.execute();
}
//Dialog code
loadingDialog = ProgressDialog.show(ThisActivity.this,
"",
"Loading. Please wait...",
false,
true,
new OnCancelListener()
{
@Override
public void onCancel(DialogInterface dialog)
{
if (asyncTask != null)
{
asyncTask.cancel(true);
}
}
});
편집 : 당신은 AsyncTask를 내부에서 대화 상자를 만들 경우, 코드가 매우 다르지 않을 것이다. 당신은 아마 인스턴스 변수를 필요로하지 않을 것입니다, 당신은 YourAsyncTask.this.cancel (true)를 호출 할 수 있다고 생각합니다.
1
I want to interrupt doInBackground when my custom cancel button pressed.
=> 취소 버튼 클릭 이벤트 내부 사용자 AsyncTask를의 cancel()
메서드를 호출합니다. 이제 doInBackground() 프로세스를 취소하기에 충분하지 않습니다. 예를 들어
:
asyncTask.cancel(true);
당신이() 메소드를 취소하여 AsyncTask를 취소 한 것으로 알려하려면, 당신은 그 취소 또는 doInBackground()
내부 isCancelled()
를 사용하지 여부를 확인해야합니다. 예를 들어
:
protected Object doInBackground(Object... x)
{
// do your work...
if (isCancelled())
break;
}
관련 문제
- 1. NullReferenceException 대화 상자가 닫힐 때
- 2. JSF Primefaces - 대화 상자가 닫힐 때 다른 페이지 표시
- 3. 회 전자 팝업 대화 상자가 닫힐 때 콜백을받는 방법?
- 4. jQuery UI 대화 상자가 닫힐 때 이벤트를 트리거하는 방법은 무엇입니까?
- 5. 진행률 대화 상자가 android에서 닫힐 때 다른 활동으로 리디렉션하는 방법
- 6. 모달 대화 상자가 닫힐 때 Delphi CMExit 메시지가 전송되지 않습니까?
- 7. 대화 상자가 취소 될 때 전체 응용 프로그램을 스윙 - 닫으십시오.
- 8. NSOpenPanel이 닫힐 때 결정
- 9. 대화 상자가
- 10. Facebook 권한 취소 대화 상자가 리디렉션되고 닫히지 않습니다
- 11. 응용 프로그램이 닫힐 때 표시 할 메시지 상자가 필요합니다.
- 12. 모달 상자가 닫힐 때 상위 페이지 새로 고침
- 13. 상자가 닫힐 때 jQuery UI 대화 상자 양식 응답이 남아 있음
- 14. 검색 버튼에서 취소 할 수없는 대화 상자가 닫힙니다.
- 15. 프린터 대화 상자가 취소 된 후 인쇄하지 않습니까?
- 16. 요청 대화 상자가 닫히지 않았습니다.
- 17. Android 재시도/취소 대화 상자
- 18. 대화 상자가 사라지는 키보드 숨기기
- 19. Android 진행률 대화 상자가 너무 늦게 표시 되었습니까?
- 20. AndEngine에서 대화 상자가 나타날 때 업데이트가 중지됩니다.
- 21. 대화 상자가 열렸을 때 onKeyDown이 호출되지 않습니다.
- 22. jquery UI 대화 상자가 닫을 때 리디렉션
- 23. jQuery 대화 상자가 닫힌 후 깨짐 - 대화 상자가 손상되었습니다.
- 24. 진행 대화 상자가 해제되지 않습니다.
- 25. Jquery 대화 상자 - 닫을 때 다른 대화 상자가 열림
- 26. 사용자 정의 대화 상자가
- 27. 모달 대화 상자가 표시 될 때 스레드에 알리는 방법은 무엇입니까?
- 28. 진행 대화 상자가 표시되지 않습니다.
- 29. 대화 상자 양식이 닫힐 때 DataGridView를 새로 고치는 방법
- 30. 창이 닫힐 때 알림