Я использую плагин fluter_google_places Flutter.Я пытаюсь передать функцию обратного вызова в виджет, чтобы при нажатии на место вызывалась функция обратного вызова:
class GooglePlaces extends PlacesAutocompleteWidget {
final Function callback;
GooglePlaces(this.callback)
: super(
apiKey: kGoogleApiKey,
sessionToken: Uuid().generateV4(),
language: "en",
);
@override
_GooglePlaces createState() => _GooglePlacesState();
}
class _GooglePlacesState extends PlacesAutocompleteState {
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
void startSearch() async {
Prediction p = await PlacesAutocomplete.show(
context: context,
apiKey: kGoogleApiKey,
mode: Mode.overlay,
language: "en",
);
displayPrediction(p);
}
Future<Null> displayPrediction(Prediction p) async {
if (p != null) {
widget.callback(); // Call callback function
}
}
}
Создание виджета в другом файле:
void myCallback() {
// ...
}
GooglePlaces(myCallback);
Однако widget.callback();
отображает ошибку: метод 'обратный вызов' не определен для класса 'PlacesAutocompleteWidget'
Как вызвать функцию обратного вызова из виджета?