
Luis Enrique Carreño Herreño
PreguntaSaludos,
Implementé este código para cambiar el estado de cada boton:
import 'package:flutter/material.dart'; class FloatingActionButtonGreen extends StatefulWidget { @override State<StatefulWidget> createState() { return _FloatingActionButtonGreen(); } } class _FloatingActionButtonGreen extends State<FloatingActionButtonGreen> { bool _status = false; void onPressedFav() { setState(() { _status = !_status; }); Scaffold.of(context).showSnackBar( SnackBar( content: Text( _status ? 'Agregado a tus favoritos' : 'Retirado de sus favoritos', style: TextStyle( fontFamily: 'IBM Plex Sans', fontStyle: FontStyle.italic, ), ), ), ); } @override Widget build(BuildContext context) { return FloatingActionButton( backgroundColor: Color(0xFF11DA53), mini: true, tooltip: 'Fav', child: _status ? Icon(Icons.favorite) : Icon(Icons.favorite_border), onPressed: onPressedFav, ); } }
Y al parecer funciona bien, pero cuando selecciono o marco como favoritos, dos o más y me desplazo a los extremos de la lista de imágenes, el floating button pierde su estado y vuelve a dibujar el icono de favorite_border. ¿Qué puede estar pasando?

Fredy Red Ramos Pomari
No estoy seguro, pero puede que el widget padre al ser redibujado cuando haces scroll y eso causa que se ejecute su metodo build nuevamente, causando que todo vuelva a 0.