Reputation: 157
class SecondScreen extends StatefulWidget { int myIndexValue;
SecondScreen(this.myIndexValue);
@override
_SecondScreenState createState() => _SecondScreenState();
}
class _MusicPlayingState extends State<MusicPlaying> {
@override
void initState() {
super.initState();
setState({
widget.myIndexValue = widget.myIndexValue + 1;
});
}
@override
Widget build(BuildContext context) {
return Text(widget.myIndexValue.toString());
}
}
Edit: I FOUND THE ANSWER. After putting print statements everywhere. i found out the build function of a state widget is called frequently. So i put a setstate in a function and put it under the build method.
Upvotes: 0
Views: 2192
Reputation: 28906
class SecondScreen extends StatefulWidget {
final int myIndexValue;
SecondScreen(this.myIndexValue);
@override
_SecondScreenState createState() => _SecondScreenState();
}
class _SecondScreenState extends State<SecondScreen> {
int _myIndexValue;
@override
void initState() {
super.initState();
_myIndexValue = widget.myIndexValue;
_update();
}
void _update() {
setState(() {
_myIndexValue = _myIndexValue + 1;
});
}
@override
Widget build(BuildContext context) {
return Text(_myIndexValue.toString());
}
}
Upvotes: 0