2015년 10월 15일 목요일

THREAD 안에서 THREAD를 사용할 경우 오류 문제 해법





아래와 같은 에러를 만나면 원인은 쓰레드 안에 쓰레드를 사용하였기 때문에
오류가 발생하였다.

java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

해결 방법은 쓰레드 안에 Handler를 새로 선언하여 사용하면 된다.

View.OnClickListener clickSomeThing = new View.OnClickListener(){
@Override
public void onClick(View v){
Handler mHandler = new Handler(Looper.getMainLooper());

mHandler.postDelayed(new Runnable(){
@Override
public void run() {
doSomeMethod(); //쓰레드 안에서 실행되는 쓰레드
}, 0);
}
};

댓글 없음:

댓글 쓰기