我有一个对象List<Item>
的列表,每个项目都有一个FocusNode
,一个TextEditingController
和一个id
,但项目的数量是固定的:
class Item {
String id;
TextEditingController textController;
FocusNode focusNode;
}
我在TextField
中将每个项目显示为ListView
在items[0].textController
中使用items[0].focusNode
和TextField
,依此类推。如何检测哪个TextField
具有焦点?例如,如果正在编辑items[1]
的第二个Textfield上的用户选项卡出现,并且键盘显示出来,它将触发一个函数,其行类似print(items[1].id)
。
答案 0 :(得分:0)
您可以将监听器添加到FocusNodes
中,如下所示:
items[1].focusNode.addListener(() {
print(items[1].id);
});
请确保在initState()
内执行此操作