[Android] UI Update Error

Programming/Android 2018. 9. 30. 23:43 posted by B&U

"Only the original thread that created a view hierarchy can touch its views"


Android 에서 Adapter를 사용해서 list view를 업데이트할 때에 위의 에러가 발생했습니다. 


문제의 코드는 다음과 같은 코드입니다.

void doCallback(){ Adapter.notifyDataSetChanged(); }

Android UI는 다른 Thread에서 업데이트할 수 없는데, 

위와 같이 바로 업데이트했더니 에러가 발생하네요...


이를 해결하기 위해서는 다음과 같이 간단하게 thread로 만들어주면 됩니다.


void doCallback(){ getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Adapter.notifyDataSetChanged();
}
}); }

답은 항상 쉬운곳에 있네요 ~