如何解决用户恢复mixin时flutter中'isregisterd的问题

问题描述 投票:0回答:1

当应用程序从后台转到前台时,我想恢复我的数据,因为我在有状态类中使用了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准备.

flutter dart flutter-dependencies
1个回答
0
投票
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',
  ),
);
 }
}
© www.soinside.com 2019 - 2024. All rights reserved.