Olá, eu queria saber como funciona pra saber como refatorar pra função, por exemplo, eu queria fazer um clique de botão e no Android ele já vem associado a uma função setOnClickListener, certo, tem como separar numa função, se faz isso ou não?
Outra coisa que eu tentei fazer foi separar o alert dialog também, mas não sabia como passar a função de carregar as imagens, pra não repetir o código. Por exemplo:
fun carregaImagem(){
val bindingFormularioImagem = FormularioImagemBinding.inflate(layoutInflater)
bindingFormularioImagem.formularioImagemBotaoCarregar.setOnClickListener {
val url = bindingFormularioImagem.formularioImagemUrl.text.toString()
bindingFormularioImagem.formularioImagemImageView.load(url){
}
}
}
fun AbreDialog(bindingFormularioImagem: FormularioImagemBinding){
AlertDialog.Builder(this)
.setView(bindingFormularioImagem.root)//antes sem o binding .setView(R.layout.formulario_imagem)
.setPositiveButton("Confirmar") { _, _ ->
url = bindingFormularioImagem.formularioImagemUrl.text.toString()
binding.activityFormularioProdutoImagem.load(url)
}
.setNegativeButton("Cancelar") { _, _ -> }
.show()
.setPositiveButton("Confirmar") { _, _ ->
carregarImagem(url)
}
}
Código original
binding.activityFormularioProdutoImagem.setOnClickListener {
val bindingFormularioImagem = FormularioImagemBinding.inflate(layoutInflater)
bindingFormularioImagem.formularioImagemBotaoCarregar.setOnClickListener {
val url = bindingFormularioImagem.formularioImagemUrl.text.toString()
bindingFormularioImagem.formularioImagemImageView.load(url){
}
}
AlertDialog.Builder(this)
.setView(bindingFormularioImagem.root)//antes sem o binding .setView(R.layout.formulario_imagem)
.setPositiveButton("Confirmar") { _, _ ->
url = bindingFormularioImagem.formularioImagemUrl.text.toString()
binding.activityFormularioProdutoImagem.load(url)
}
.setNegativeButton("Cancelar") { _, _ -> }
.show()
}