이미지가 다 로딩되고 나서 처리하셔야 하므로 Async로 동작을 해야 합니다. 아마도 RequestListener라는 걸 구현해서 이미지가 다 로딩된 걸 캡쳐하셔야 할 듯 합니다.
https://bumptech.github.io/glide/javadocs/440/com/bumptech/glide/request/RequestListener.html
아래의 블로그에 예제가 나오네요.
https://medium.com/mobile-app-development-publication/glide-image-loader-the-basic-798db220bb44
val requestListener = object: RequestListener<Drawable>() {
override fun onLoadFailed(e: GlideException?,
model: Any, target: Target<Drawable>,
isFirstResource: Boolean): Boolean {
}
override fun onResourceReady(resource: Drawable,
model: Any, target: Target<Drawable>,
dataSource: DataSource,
isFirstResource: Boolean): Boolean {
updateAnsweredImage()
}
}
private fun updateAnsweredImage() {
if(num==coin){
imgFB.setImageResource(R.drawable.front)
Toast.makeText(applicationContext, "정답", Toast.LENGTH_SHORT).show()
}
else{
imgFB.setImageResource(R.drawable.back)
Toast.makeText(applicationContext, "땡", Toast.LENGTH_SHORT).show()
}
}
Glide.with(this)
.load(R.raw.gg)
.listener(requestListener)
.into(imageFB)
그런데 이미지가 .gif이므로 실행되는데 약간의 시간이 필요하므료, .git가 끝나는 시간정도의 딜레이를 주시던가 아니면, gif의 프페임수 등을 체크하셔 모든 프레임을 보여주는데 걸리는 시간을 체크하셔야 겠죠.