简体   繁体   English

Flutter 中的参数无效

[英]Invalid argument(s) in Flutter

After reinstalling my app on emulator, my console throw me this error:在模拟器上重新安装我的应用程序后,我的控制台向我抛出了这个错误:

Invalid argument(s)
The relevant error-causing widget was
    FutureBuilder<SharedPreferences> 

can someone help me with this problem?有人可以帮我解决这个问题吗? I think, that problem is in my sharedPreferences我认为,这个问题出在我的 sharedPreferences 中

class _LanguageSelectorState extends State<LanguageSelector> {
  SharedPreferences sharedPreferences;

  static final List<String> languagesList = application.supportedLanguages;
  static final List<String> languageCodesList =
      application.supportedLanguagesCodes;


  final Map<dynamic, dynamic> languagesMap = {
    languagesList[0]: languageCodesList[0],
    languagesList[1]: languageCodesList[1],
  };

  @override
  Widget build(BuildContext context) {
    return Scaffold(
          backgroundColor: Colors.white,
          appBar: AppBar(
            backgroundColor: Colors.white,
            iconTheme: IconThemeData(color: Colors.black),
            title: Text(AppTranslations.of(context).text("settings_language"), style: TextStyle(color: Colors.black, letterSpacing: 1)),
            elevation: 0.0,
            centerTitle: true,
            bottom: PreferredSize(child: Container(color: Colors.black, height: 0.1), preferredSize: Size.fromHeight(0.1),),
          ),
      body: _buildLanguagesList()
    );
  }

  @override
  void initState(){
    super.initState();
    getCurrentLanguage();
  }

  Future<String> getCurrentLanguage() async {
    sharedPreferences = await SharedPreferences.getInstance();
  }

  String selectedLanguage;
  String currentLanguage;
  bool _langOne = false;
  bool _langTwo = false;


  _buildLanguagesList() {
    return SingleChildScrollView(
      child: FutureBuilder(
        future: SharedPreferences.getInstance(),
        builder: (context, snapshot){
        return Column(
          crossAxisAlignment: CrossAxisAlignment.start,
              children: <Widget>[
                Padding(
                  padding: EdgeInsets.all(20),
                  child: Text(AppTranslations.of(context).text("settings_current_language") + ": " + sharedPreferences.getString("currentLanguage")),
                ),
                CheckboxListTile(
                  title: Text(languagesList[0]),
                  value: _langOne,
                  onChanged: (value) {
                    setState(() {
                      _langOne = value;
                      sharedPreferences.setString("currentLanguage", languagesList[0]);
                      if(_langOne){
                        _langTwo = false;
                      }  
                      application.onLocaleChanged(Locale(languagesMap[languagesList[0]]));
                    });
                  },
                ),
                CheckboxListTile(
                  title: Text(languagesList[1]),
                  value: _langTwo,
                  onChanged: (value) {
                    setState(() {
                      _langTwo = value;
                      sharedPreferences.setString("currentLanguage", languagesList[1]);
                      if(_langTwo){
                        _langOne = false;
                      }
                      application.onLocaleChanged(Locale(languagesMap[languagesList[1]]));
                    });
                  },
                )
              ],
            );
        }
      )
    );
  }
}

try flutter clean command and then try it again.尝试 flutter clean 命令,然后再试一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Flutter - ArgumentError(无效参数:URI 文件中未指定主机:///) - Flutter - ArgumentError (Invalid argument(s): No host specified in URI file:///) 无效参数:在 URI flutter getconnect 中未指定主机 - Invalid argument(s): No host specified in URI flutter getconnect Flutter:如果我想导航到详细信息页面,我会在 flutter 中收到无效参数错误 - Flutter: i get invalid argument(s) Error in flutter if i want to navigate to detail page 运行时出现Flutter项目,显示错误无效参数:源不得为null - Flutter project when run showing Error Invalid argument(s): The source must not be null 在构建 GamePage(dirty, state: _GamePageState#d2e81): Invalid argument(s) on flutter 时引发了以下 ArgumentError - The following ArgumentError was thrown building GamePage(dirty, state: _GamePageState#d2e81): Invalid argument(s) on flutter Flutter来自ADB的意外故障:无效参数:源不得为空在设备上启动应用程序时出错 - Flutter Unexpected failure from adb: Invalid argument(s): The source must not be null Error launching application on device Flutter - 需要 2 个必需参数,但找到 0 个 - Flutter - 2 required argument(s) expected, but 0 found 预期 2 个位置参数,但找到 0 个。 Flutter - 2 positional argument(s) expected, but 0 found. Flutter 使用 flutter 异常发布无效参数未在 URI 中指定主机 - Post with flutter exception invalid argument no host specified in URI “bool 类型的无效参数 false。” 当 flutter 应用程序启动时 - “Invalid argument false with type bool.” when flutter application starts
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM