До нажатия есть только 3 кнопки, но после нажатия любой кнопки, как вы можете видеть, есть 6 кнопок
Я пытаюсь создать рейтинговая система для моего приложения, но всякий раз, когда я нажимаю кнопку, создается новая кнопка, и я не совсем уверен, почему это происходит.
Если я попытаюсь запустить его без setState()
и нажму кнопку, новый объект не будет создан, и это именно то, что я хочу в итоге.
import 'package:flutter/material.dart';
class Rating extends StatefulWidget {
@override
_RatingState createState() => _RatingState();
}
class _RatingState extends State<Rating> {
final List<IconData> iconsImage = [
Icons.star,
Icons.star,
Icons.star,
Icons.star,
];
List<ButtonTheme> buttonsList = new List<ButtonTheme>();
List<Widget> _buildButtons() {
for (int i = 0; i < 3; i++) {
buttonsList.add(ButtonTheme(
height: 20,
minWidth: 40,
child: FlatButton(
onPressed: () {
//When i press button new star is created not sure why
setState(() {
print(i);
});
},
child: Icon(Icons.star),
),
));
}
return buttonsList;
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.grey[900],
body: Container(
child: Column(
children: <Widget>[
Container(
child: Text('Rate the homework',
style: TextStyle(
color: Colors.white,
)),
),
Divider(
height: 30,
color: Colors.red,
),
Row(
children: _buildButtons(),
)
],
),
),
);
}
}