Olá, eu entendi que precisa ter a URL na activity para carregar a imagem na lista, mas fiquei com uma dúvida, só dá pra resolver desse jeito com High Order function, a resolução é simples, mas desde que você já conheça a técnica, se eu não entendesse de High Order Function no Kotlin (eu vi nas aulas de Kotlin, mas não pensei nessa solução) não tem outro jeito de resolver?
A classe utilizada na explicação:
class FormularioImagemDialog(private val context: Context) {
fun mostra(
urlPadrao: String? = null,
quandoImagemCarragada: (imagem: String) -> Unit
) {
FormularioImagemBinding
.inflate(LayoutInflater.from(context)).apply {
urlPadrao?.let {
formularioImagemImageview.tentaCarregarImagem(it)
formularioImagemUrl.setText(it)
}
formularioImagemBotaoCarregar.setOnClickListener {
val url = formularioImagemUrl.text.toString()
formularioImagemImageview.tentaCarregarImagem(url)
}
AlertDialog.Builder(context)
.setView(root)
.setPositiveButton("Confirmar") { _, _ ->
val url = formularioImagemUrl.text.toString()
quandoImagemCarragada(url)
}
.setNegativeButton("Cancelar") { _, _ ->
}
.show()
}
}
}