2016. 3. 22. 15:00

증상

안드로이드에서 웹뷰를 호출했더니....

All WebView methods must be called on the same thread.

 

 

....

네..

흔한 크로스 쓰래드 에러입니다.

 

 

해결 방법

닷넷(.NET)으로 치자면 인보크 해서 처리하는 것과 같이 안드로이드 webview에는 '.post()'가 있습니다.

여기에 'Runnable'을 구현하여 전달하면 됩니다.

webviewName.post(new Runnable() 
{
	@Override
	public void run() 
	{
		//동작
	}
});

 

 

마무리

이런 오류는 생각보다 자주 만나게 됩니다.

문제는 크로스 스레드는 돌리기 전에는 인지 못 하는 경우가 많아서 말이죠 ㅋㅋㅋㅋㅋㅋ