Flutter: darle foco a un TextField recién agregado
Necesito enfocarme solo en el TextField recién creado.
El código de ejemplo se encuentra aquí: https://dartpad.dev/?id=1c84c70d956efde95fa12820c9afa4aa
class _TestPageState extends State<TestPage> {
List<TextEditingController> controllers = [
TextEditingController(text: 'field 0')
];
<p>@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: ListView.builder(
itemCount: controllers.length,
itemBuilder: (context, index) => TextField(
controller: controllers[index],
autofocus: index == controllers.length - 1)),
),
floatingActionButton: FloatingActionButton(
child: const Icon(Icons.add),
onPressed: () {
setState(() {
controllers.add(
TextEditingController(text: 'field ${controllers.length}'));
});
},
),
);
}
}
En el dartpad funciona correctamente, pero no en un dispositivo real.
¿Algún consejo sobre por qué no funciona en el dispositivo y cómo lograrlo?
Gracias.
davy.ai
Para darle foco al TextField recién creado, puedes usar la clase
FocusNode
en Flutter. Aquí tienes una versión actualizada del código con los cambios:Al utilizar la propiedad
focusNode
y establecerla en el TextField recién agregado, puedes darle foco cuando se crea.