여러 개의 비동기 요청을 호출하는 Android 기능이 있습니다. 나는 모든 것이 끝났음을 알고 싶다. 나는 onPostExecute()를 보았지만 그 중 하나가 끝난 경우에만 알려줍니다. 이것을 할 수있는 방법이 있습니까?비동기 작업의 Android 비동기 그룹 완료
0
A
답변
1
아마도 가장 간단한 방법은 카운터 변수를 만드는 것입니다. int taskCount
으로 설정하고 실행하기 전에 실행해야하는 번호 AsyncTask
으로 설정하십시오. 그런 다음 카운터를 감소시키는 메소드를 작성하고 각 태스크의 onPostExecute()
메소드에서 호출하십시오. taskCount == 0
이되면 작업이 완료됩니다.
아주 간단한 예 : 작업 이상 AsyncTask를이 한 번에 각 작업 1 핸들러에 비교하고, 당신이 핸들러를 사용하는 경우 여전히 # 마이크의 대답은 여전히 적용됩니다 실행하기 때문에 걸릴 것으로
int taskCount;
private void startTasks()
{
Task task1 = new Task();
Task task2 = new Task();
Task task3 = new Task();
taskCount = 3;
task1.execute();
task2.execute();
task3.execute();
}
private void taskDone()
{
taskCount--;
if (taskCount == 0)
{
Toast.makeText(MainActivity.this, "All done!", 0).show();
}
}
private class Task extends AsyncTask <Void, Void, Void>
{
@Override
protected Void doInBackground(Void... args)
{
return null;
}
@Override
protected void onPostExecute(Void result)
{
taskDone();
}
}
0
.
관련 문제
- 1. 비동기 작업의 TextView 설정 완료
- 2. 비동기 작업의 결과 처리
- 3. 비동기 작업의 컨텍스트가 무엇입니까
- 4. 비동기 블록 완료 대기
- 5. 입출력 비동기 완료
- 6. GetJSON 비동기 완료 대기
- 7. 여러 비동기 작업의 인터페이스 사용
- 8. 비동기 작업의 상태를 확인하는 jQuery
- 9. 비동기 작업의 반환을 사용하는 방법
- 10. 비동기 MVC 작업의 트랜잭션 처리
- 11. 비동기 작업의 변수 범위는 무엇입니까?
- 12. 비동기 작업의 비 협력 취소
- 13. 비동기 작업의 데이터로 스피너 업데이트
- 14. Null 포인터 비동기 작업의 오류
- 15. 동기식 WCF 작업의 비동기 구현
- 16. 비동기 작업의 끝을 결정하는 자바 스크립트
- 17. 비동기 작업 완료 후 코드 만 실행
- 18. 비동기 코드 대기 완료 Swift
- 19. iOS 용 비동기 작업 완료
- 20. void 비동기 메서드 확인 완료
- 21. C# DLL 대기 완료 비동기 메서드
- 22. 비동기 작업으로 Android 활동 테스트
- 23. 비동기 함수가 완료 될 때까지 비동기 함수가 대기하도록하십시오.
- 24. Android : 다른 팩의 활동에서 비동기 작업의 ProgressDailog를 표시하는 방법?
- 25. android 4.2에서 비동기 작업의 새 인스턴스를 실행할 수 없습니다.
- 26. 카메라의 의도와 비동기 작업의 doInBackground 충돌
- 27. MapView가 비동기 작업의 onProgressUpdated를 무효화하지 않습니다.
- 28. 비동기 작업의 진행률 막대를 업데이트하는 방법
- 29. 비동기 작업의 Doinbackground에서 루프가 증가하지 않음
- 30. 비동기 작업의 데이터 구조 (seq, list, array)