파이어스토어 데이터베이스에서 회원정보를 가져온 후 Glide를 이용해 회원 정보에 담긴 회원 프로필이미지 주소를 이미지뷰에다가 이미지로 셋팅하려고 했다.
아래와 같이 메서드를 구현했는데
suspend fun setUserImageView(context: Context, imageUrl:String, imageView: ImageView){
val job1 = CoroutineScope(Dispatchers.IO).launch {
Glide.with(context)
.load(imageUrl)
.into(imageView)
}
job1.join()
}
코루틴스코프에서 호출하려고 하니 아래와 같은 에러가 발생했다.

"java.lang.IllegalArgumentException: You must call this method on the main thread"
해결방법은 Dispatchers.IO를 Dispatchers.Main으로 바꾸는 것이었다.
해당 메서드가 있는 클래스에서 입출력 관련 메서드를 만들어놓다보니 따라서 Dispatchers.IO로 셋팅해놓아서 발생한 일이었다.
suspend fun setUserImageView(context: Context, imageUrl:String, imageView: ImageView){
val job1 = CoroutineScope(Dispatchers.Main).launch {
Glide.with(context)
.load(imageUrl)
.into(imageView)
}
job1.join()
}