Consider the following code
Widget returnAutoCompleteForTankLine(BuildContext context, MyAquariumManagerTanksModel tanksModel, TextEditingController textController, Tank? currentTank) {
myPrint("in returnAutoCompleteForTankLine");
return Autocomplete<String>(
//initialValue: TextEditingValue(text: initialText),
optionsBuilder: (TextEditingValue textEditingValue) {
myPrint("in optionsbuilder");
if (textEditingValue.text == '') {
myPrint("in optionsbuilder, emptyee");
return const Iterable<String>.empty();
}
myPrint("do we have tanklines, ${tanksModel.returnListOfTankLines()}");
return tanksModel.returnListOfTankLines().where((String option) {
return option.contains(textEditingValue.text.toLowerCase());
});
},
fieldViewBuilder: (BuildContext context, TextEditingController textEditingController,
FocusNode focusNode,
VoidCallback onFieldSubmitted) {
myPrint("in fieldViewBuilder");
return TextField(
controller: textController,
focusNode: focusNode,
onChanged: (String value) {
myPrint("do we come here?");
},
);
}
);
}
The textfield works, but the code inside optionsBuilder never gets called. Why might this be?