2015-01-22 3 views
0

스레드가 실행 중이고 청취자가 작업 완료 시점을 알기 위해 UI 요소를 업데이트하는 데 사용하는 일부 데이터를 반환하는 onCompleted 메서드가 있습니다. 어떤 때는 NPE가 나타납니다. 사용자가 Activity 또는 비슷한 것을 변경했기 때문에 생각합니다.비동기 UI 업데이트, 동시성 - android

나는 NULL 수표를 사용해 보았지만 항상 매번 성가시다.

이제 누군가가 내 코드에 널 (null) 체크를하지 않고 이것을 피하는 쉬운 방법을 알고 있는지 묻고 싶습니다.

+0

활동 변경으로 인해 'onPause()','onStop()'또는'onDestroy()'에 플래그를 설정할 수 있지만 null 값을 확인하는 것이 잘못된 이유는 무엇입니까? – DroidDev

+0

당신의 백그라운드 프로세스에 의해 반환 된 응답을'UI를 사용하고 구체적으로 업데이트 '해야하는 경우. 그런 다음 백그라운드 프로세스가 실행 중인지 여부를 확인하기 위해'onDestroy()'를 실행해야합니다. 실행중인 경우 백그라운드 프로세스를 취소합니다. '궁극적으로는 NPE로 실행되지 않습니다.'이것은 Async를 사용하여 쉽게 얻을 수 있습니다. Android의 '작업'클래스. –

답변

-1

Activity 및 UI 스레드와 함께 작동하도록 특별히 고안된 AsyncTask 클래스를 살펴보십시오.

관련 문제