Exception Study

Error : Cant' create handler inside thread Thread... (feat. Android)

85chong 2021. 1. 29. 19:19
728x90
반응형
SMALL

* 환경 : 

- AndroidStudio 4.1.1

- Kotlin

 

* 상황 :

- 이벤트 버스를 이용해 프로세스를 돌리던중 Dialog 클래스를 이용한 Dialog 띄우기 위해 객체 생성 하던 중 발생한 에러, try catch 로 에러를 찍어봄

 

* 에러 : 

"Can't create handler inside thread Thread[pool-13-thread-2,5,main] that has not called Looper.prepare( )"

 

 

* 해결 :

- 잘못 삽질한 내잘못... 위의 문구가 뜨면 다른것 보다 우선으로 봐야할것은, 사용하려는 클래스가 uithread 에서 돌려야 하는 건지 먼저 파악하는 것이 중요한듯.. thread에 대한 이해도가 깊지 않은 나로썬 생각지도 못한 걸로 삽질을 했다는거에 대한 반성이 먼저듬.. 갈길이멈..

 

- 수정 전 : 

class MyClass {
    var mActivity = activity
    ...
    ...
    fun test(){
       var mydialog = MyDialog(mActivity)
       mydialog?.showDialog()
    }
    ...
}

 

- 수정 후 : 

class MyClass {
    var mActivity = activity
    ...
    ...
    fun test(){
       mActivity.runOnUithread{
          var mydialog = MyDialog(mActivity)
          mydialog?.showDialog()
       }
    }
    ...
}

* runOnUithread로 감싸주니 해결됐다.

 

 

- 끝 -