共享首选项的颤动问题

问题描述

我正在开发我的应用程序,并且(可能有很多问题)我设法使事情正常进行。 唯一的问题是当我重新启动应用程序时,数据不会保留在应用程序中。 所以理想情况下,用户应该从下拉菜单中选择练习并随时访问它,但一旦他们关闭页面,所有数据就会消失。 我将代码留在下面,因为我不知道如何处理它,它看起来非常有用,所以如果有人可以帮助我在这里学习! :)

import 'package:Flutter/material.dart';
import 'package:Flutter_slidable/Flutter_slidable.dart';

class Custom extends StatefulWidget {
  @override
  _CustomState createState() => new _CustomState();
}

class _CustomState extends State<Custom> {
  int _count = 0;

  @override
  Widget build(BuildContext context) {
    Size size = MediaQuery.of(context).size;
    List<Widget> _esercizi = List.generate(_count,(int i) => Esercizi());
    bool visible = _count > 0;

    return GestureDetector(
      onTap: () {
        FocusScope.of(context).requestFocus(FocusNode());
      },child: Scaffold(
        appBar: AppBar(
          title: Text('Scheda personalizzata'),actions: [
            Visibility(
              visible: visible,child: IconButton(
                icon: Icon(Icons.remove_rounded),onpressed: _removeNewEsercizi,),IconButton(icon: Icon(Icons.add),onpressed: _addNewEsercizi),],backgroundColor: Colors.blueGrey,body: LayoutBuilder(builder: (context,constraint) {
          return Padding(
            padding: const EdgeInsets.all(10.0),child: SingleChildScrollView(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.start,children: <Widget>[
                  Container(
                    width: size.width,height: 700,child: ListView(
                      scrollDirection: Axis.vertical,children: _esercizi,//new ContactRow()
                ],);
        }),);
  }

  void _addNewEsercizi() {
    setState(() {
      _count = _count + 1;
    });
  }

  void _removeNewEsercizi() {
    setState(() {
      _count = _count - 1;
    });
  }
}

class Esercizi extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => _Esercizi();
}

class _Esercizi extends State<Esercizi> {
  String dropdownValue = 'Seleziona esercizio';

  @override
  Widget build(BuildContext context) {
    Size size = MediaQuery.of(context).size;

    return Padding(
      padding: const EdgeInsets.all(2.0),child: Container(
        width: size.width,child: Row(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,children: [
            DropdownButton<String>(
              value: dropdownValue,style: TextStyle(color: Colors.blueGrey),onChanged: (String newValue) {
                setState(() {
                  dropdownValue = newValue;
                });
              },items: <String>['Seleziona esercizio','One','Two','Three','Fo'
                  'ur','Five','Six']
                  .map<DropdownMenuItem<String>>((String value) {
                return DropdownMenuItem<String>(
                  value: value,child: Text(value),);
              }).toList(),);
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...