2013-09-30 5 views
2

하나의 목록보기를 보여주는 활동이 있습니다. 활동에서 나는 하나의 AsyncTask (AsListView의 여기에서 지명했다) 인터넷에서 가치를 얻고 listview의 각 품목에있는 몇몇 정보를 채운다. 잘 지내라.AsyncTask 일시 중지 및 다시 시작

이제 streetview에서 하나의 이미지를 표시하기 위해 ActionBar에 버튼을 만들었습니다. 이 작업을 수행하기 위해 AsimTask (AsImage의 여기에서 명명 된)를 구현하여 Google에서 이미지를 가져 와서 DialogFragment에 표시하지만 모든 AsListView 스레드의 실행을 기다리는 것이 필요합니다. 목록에있는 항목의 수에 따라 많은 시간이 소요됩니다.

AsImage를 빠르게 실행하려면 모든 AsListView 작업을 취소하지만 나에게 좋지 않습니다 (사용자 손실 정보). 이상적인 해결책은 AsImage가 실행되는 동안 AsListView 작업이 대기하도록 설정하는 것입니다. AsImage가 끝나면 AsListView 작업을 계속 실행하도록 설정합니다. 하지만 AsynkTasks의 실행 제어가 불가능하다는 것을 알고 있습니다 .....

일부 솔루션은 무엇입니까?

답변

0

CountDownLatch을 사용하여 AsyncTask을 동기화 할 수 있습니다.

당신이 Thread의 대신 AsyncTask의를 사용하여 우선 순위를 설정할 수 있습니다 원하는 그렇지 않은 경우

하지만 이유 안드로이드가 그래서 나는 당신이 그것을 사용 권장 AsyncTask 클래스를했다.

관련 문제