Я новичок во Flutter и пытаюсь выяснить, как включить мою кнопку действия, только когда в AlertDialog было выбрано значение рейтинга. Когда кнопка «отправить» была выбрана, но ничего не выбрано, она все равно меняет значение, например, на 6.0 по какой-то странной причине, поэтому оператор «если» может не сработать, сравнивая его с нулем, как я пытался ранее в методе onPressed ().
Это мой код метода для отображения AlertDialog:
void _showDialog() {
showDialog(
context: context,
barrierDismissible: false,
builder: (context) {
return AlertDialog(
title: Text("Pain Rating"),
content: RatingBar(
onRatingChanged: (rating) {
setState(() {
_rating = rating;
print("rating changed: rating = $_rating");
});
},
maxRating: 10,
filledIcon: Icons.radio_button_checked,
emptyIcon: Icons.radio_button_unchecked,
isHalfAllowed: false,
filledColor: Colors.green,
emptyColor: Colors.green,
size: 28,
),
actions: <Widget>[
FlatButton(
child: const Text('SUBMIT'),
onPressed: () {
print("submit pressed: rating = $_rating");
Navigator.of(context).pop();
},
)
],
);
});
В настоящее время, когда какой-либо рейтинг не выбран или нажата кнопка «Отправить», он закроет диалоговое окно. Я ожидаю, что кнопка «Отправить» будет отключена, пока не будет выбран рейтинг