У меня есть текстовое поле, которое меняет свой текст после действия, но проблема в том, что я хочу изменить одно и то же текстовое поле дважды, но я могу сделать это только с одного контроллера редактирования текста, как я могу изменить то же текстовое поле из две разные функции? Работает только один контроллер редактирования текста, если я использую один и тот же контроллер в другой функции для другого использования, он не работает, что делать? Спасибо
вот код, я сначала объявил контроллер редактирования текста
class MapSampleState extends State < MapSample > {
String _userDestination =" ";
Completer<GoogleMapController> _controller = Completer();
var locationText = TextEditingController();
var locationText2 = TextEditingController();
затем назначил его своему полю редактирования текста
Align(
alignment: Alignment.topLeft,
child: Container(
height:50,
width: 50, margin: EdgeInsets.only(left: 10, top: 100,bottom: 20,right: 10),
child: Align (alignment: Alignment.topRight,
child: new FloatingActionButton(onPressed:clearMyMap,
heroTag: "btn1",
tooltip: "Cancel Trip",
backgroundColor:Colors.white,
child: Icon(Icons.cancel, color:Colors.black,),
),
)
)
),
это первое место Я использую контроллер редактирования текста locatonText
void _getLatLng(Prediction prediction) async {
GoogleMapsPlaces _places = new
GoogleMapsPlaces(apiKey:"AIzaSyD8lTNVJ5LLPYSdahUh9tlO8rFeskzZw8E"); //Same API_KEY as above
if (prediction!=null ){
PlacesDetailsResponse detail =
await _places.getDetailsByPlaceId(prediction.placeId);
double latitude = detail.result.geometry.location.lat;
double longitude = detail.result.geometry.location.lng;
String address = prediction.description;
print("+++++++++++++++++++++++++++++++address+++++++++++++++++++++++++++++++++++++++++++++++++++");
appState.sendRequest(address);
locationText.text ="$address";
}
}
это второе место, где я использую контроллер редактирования текста locatonText
void clearMyMap(){
appState.clearMap();
locationText.clear();
}