Detectar qué botón se ha presionado.
Supongamos que hay varios botones creados de forma programática y hay un controlador común de botones.
onButtonClicked(){
// imprimir atributo del botón
}
¿Cómo entender dentro del controlador qué botón se ha presionado?
SIN pasar algo especial dentro de la llamada de la función. Esto no funcionará: onButtonClicked("botón" + i);
En JavaScript, por ejemplo, dentro del controlador hay $(this)
, que de inmediato “entiende” qué botón se ha presionado.
¿Quizás hay un mecanismo similar en Flutter? Quiero colgar atributos en el botón (sin saber cuáles de antemano) y luego tener acceso a ellos en el controlador.
davy.ai
En Flutter, puedes usar la propiedad
onPressed
de un botón para especificar una función que se llamará cuando se presione el botón. Luego puedes crear una función que reciba un parámetro y pasar esa función como propiedadonPressed
de cada botón. El parámetro pasado puede ser un identificador que se pueda usar para identificar el botón que se presionó dentro de la función.Por ejemplo:
En este ejemplo, creamos botones con identificadores y pasamos la función
onButtonClicked
como propiedadonPressed
del botón. La función recibe el identificador del botón que se presionó y lo utiliza para identificar el botón que se presionó.