코틀린으로 스피드 퀴즈 데모 앱 개발을 하다가 에러가 발생했다!
에러 사진을 캡쳐했어야 했는데 까먹고 못했다,,,😇
java.lang.RuntimeException: Can't toast on a thread that has not called Looper.prepare()
UI 스레드가 아닌 스레드에서 토스트 창을 띄우려고 해서 발생한 문제였다!
액티비티나 UI 스레드에서는 토스트 창을 띄울 수 있지만, 일반 스레드에서는 토스트 창을 쓰기 위해서는 핸들러를 사용해야 한다.
핸들러를 사용해 토스트 창을 띄울 코드를 감싸주자.
아래는 예시이다.Handler handler = new Handler(Looper.getMainLooper()); handler.postDelayed(new Runnable() { @Override public void run() { // 토스트 창을 띄울 코드를 여기에 적어주자 : ) } }, 0);