当应用程序从后台转到前台时,我想恢复我的数据,因为我在有状态类中使用了restoremixin,但总是收到有关“isregisterd”的错误
我从这里阅读了有关可恢复文档的所有文档=> https://docs.flutter.dev/platform-integration/android/restore-state-android#:~:text=With%20the%20RestorationManager%20%2C% 20the%20Flutter,app%20only%20moments%20to%20准备.
Please try this code
class MyTextField extends StatefulWidget {
const MyTextField({Key? key}) : super(key: key);
@override
_MyTextFieldState createState() => _MyTextFieldState();
}
class _MyTextFieldState extends State<MyTextField> with RestorationMixin
{
final RestorableString _text = RestorableString('');
@override
String get restorationId => 'myTextField';
@override
void restoreState(RestorationBucket? oldBucket, bool initialRestore) {
registerForRestoration(_text, 'text');
}
@override
Widget build(BuildContext context) {
return TextField(
controller: TextEditingController(text: _text.value),
onChanged: (value) {
setState(() {
_text.value = value;
});
},
decoration: InputDecoration(
labelText: 'Enter your text',
),
);
}
}