2012-06-03 2 views
0

AsyncTask Android의 메소드 onPostExecute() 이벤트가 발생하여 작업이 끝난 후 코드가 실행됩니다. Thread Method와 동등한 것은 무엇입니까? 검색했지만 해결책을 찾지 못했습니다.스레드 끝에서 함수를 실행하는 방법은 무엇입니까?

편집 : UI 스레드에서 작업을 실행해야하므로 실행할 메서드의 호출을 배치 할 수 없습니다. 다른 스레드에서이 작업을 실행할 수 없습니다.

답변

3

장소 run 메소드의 마지막 호출 ...

run(){ 
    ... 
    handler.post(...); 
} 
+0

아니요, UI 스레드에서 작업을 실행해야하므로 실행할 수 없습니다. 다른 스레드에서이 작업을 실행할 수 없습니다. – Eghes

+0

이렇게하려면 처리기를 사용하십시오 ... – ChristopheCVB

+0

또는 postOnUiThread ...) – ChristopheCVB

1

당신이 스레드 내부에 다음 코드를 사용할 수있는 활동의 내부 스레드를 실행하는 경우 :

runOnUiThread(new Runnable() { public void run(){ //your ui altering code here }})

0

Activity.runOnUiThread (Runnable) 메서드를 사용하여 비 UI 스레드에서 UI에 대한 코드를 실행할 수 있습니다.

스레드 이벤트를 더 제어해야하거나 진행률 업데이트를 보내려는 경우 Handler과 [HandlerThread]를 사용해야합니다. UI 스레드를 백그라운드 스레드에 전달한 다음 백그라운드 스레드에서 UI 스레드 핸들러를 사용하여 메시지를 게시하십시오. 해당 이벤트에 대해 handleMessage(message)을 실행하십시오.

관련 문제