2

그래서 runOnUiThread() 및보기와 같은 메서드를 사용하려고했습니다.이미지보기 설정을위한 AsyncTask

포스트는 활동을 연장하지 않습니다 주 하나의 외부에있는 클래스 내 이미지 뷰를 업데이트하고 저도 같은 문제가 계속 :

가 큰 실행되지만 처음 나는를 다시 시작하는 경우 이미지보기가 더 이상 업데이트되지 않습니다.

AsyncTask 클래스를 사용하여 비트 맵을 가져온 다음 해당 비트 맵을 사용하여 이미지보기를 설정할 수 있습니까? 그렇다면 누군가가 내게 모범을 보일 수 있습니까?

+0

AsyncTask는 onPreExecute() 및 onPostExecute() 외부의 기본 UI 스레드에 대한 참조를 가지고 있지 않습니다. AsyncTask가 실제 작업을 수행하는 doInBackground() 메서드를 실행하는 동안 예외를 throw하지 않으면이 작업을 수행하려면 일부 작업을해야합니다. –

답변

2

당신이 클래스 이름은 AsyncTask를

확장이

클래스처럼 AsyncTask를 확장하면 당신은 doInBackground()에서 비트 맵을 반환해야합니다, 당신은 onPostExecute (비트 맵), 오버라이드 (override)됩니다

것 UI 스레드에서 실행하면 비트 맵을 ImageView로 설정할 수 있습니다.

0

worker thread에서 runInBackground() AsyncTasks 메서드 만 호출됩니다. 다른 메서드는 UI 스레드에서 호출되므로이를 사용하여 UI의 변경 내용을 호출 할 수 있습니다.

진행률 표시 줄처럼 onPreExecute()을 사용할 수 있습니다.

publishProgress()은 다운로드 한 퍼센트를 말하는 것과 같이 작업 진행 상황을 게시 할 수 있습니다.

onPostExecute()을 사용하면 다운로드 한 비트 맵 또는 텍스트와 같이보기를 설정할 수 있습니다.