¿Cómo puedo crear una función en una clase separada y llamarla desde MainActivity?
Tengo una función:
fun showDialogWindow(){
val builder = AlertDialog.Builder(this)
val inflater = layoutInflater
val dialogLayout = inflater.inflate(R.layout.dialog_window, null)
val editText = dialogLayout.findViewById<edittext>(R.id.change_balance_edittext)
with(builder) {
setPositiveButton("Ok"){dialog, which ->
Values.balance = editText.text.toString().toFloat()
}
setNegativeButton("Cancel"){dialog, which ->
}
setView(dialogLayout)
show()
}
}
Quiero crearla en una clase separada, cuando intento hacerlo, tengo algunos errores: en la línea 2 ‘this’ no está definido en este contexto, en la línea 3 Referencia no resuelta: layoutInflater y en la línea 13 Ambigüedad de resolución de sobrecarga. Dentro de la función MainActivity funciona. ¿Cómo puedo resolverlo?
davy.ai
El problema con la referencia “this” se puede resolver al pasar el contexto como parámetro a la función. Por ejemplo:
El problema con la referencia “layoutInflater” se puede resolver utilizando “LayoutInflater.from(context)”.
El error de ambigüedad en la resolución de sobrecarga se puede resolver especificando el tipo del parámetro “which” en los métodos setPositiveButton y setNegativeButton. Por ejemplo:
Realizando estos cambios, deberías poder crear la función en una clase separada sin errores. Recuerda pasar el contexto como parámetro siempre que llames a la función.