Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:将下拉按钮转换为Listview.builder_Flutter_Listview_Dart_Dropdown - Fatal编程技术网

Flutter 颤振:将下拉按钮转换为Listview.builder

Flutter 颤振:将下拉按钮转换为Listview.builder,flutter,listview,dart,dropdown,Flutter,Listview,Dart,Dropdown,我有一个下拉按钮,按下时显示应用程序语言,当选择任何人时,应用程序语言会发生变化。现在我需要将这个下拉按钮转换为listview。生成器,使语言显示为列表而不是下拉列表,但无法做到这一点。如果有人能帮忙,我将不胜感激 这是我的代码: 语言课 class Language { final int id; final String flag; final String name; final String languageCode; Language(this.id, this

我有一个下拉按钮,按下时显示应用程序语言,当选择任何人时,应用程序语言会发生变化。现在我需要将这个下拉按钮转换为listview。生成器,使语言显示为列表而不是下拉列表,但无法做到这一点。如果有人能帮忙,我将不胜感激

这是我的代码:

语言课

class Language {
  final int id;
  final String flag;
  final String name;
  final String languageCode;

  Language(this.id, this.flag, this.name, this.languageCode);

  static List<Language> languageList() {
    return <Language>[
      Language(1, "I agree with @Tirth that it's not clear what exactly is not working. However, with what you have provided here is a reusable 
ListView.builder
that will display your languages.

class LanguageList extends StatelessWidget {
  final List<Language> languageList;

  const LanguageList({Key key, this.languageList}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Expanded(
      child: ListView.builder(
        itemCount: languageList.length,
        itemBuilder: (context, index) {
          return Row(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            children: [
              Text(languageList[index].id.toString()),
              Text(languageList[index].name),
              Text(languageList[index].flag),
              Text(languageList[index].languageCode),
            ],
          );
        },
      ),
    );
  }
}
类语言{
最终int id;
最终字符串标志;
最后的字符串名;
最终字符串语言代码;
语言(this.id、this.flag、this.name、this.languageCode);
静态列表语言列表(){
返回[

语言(1),我同意@Tirth的说法,即不清楚到底什么不起作用。但是,您在这里提供的是一个可重用的
ListView.builder
,它将显示您的语言

LanguageList(languageList: Language.languageList())

我同意@Tirth的观点,即不清楚到底是什么不起作用。但是,您在这里提供的是一个可重用的
ListView.builder
,它将显示您的语言

LanguageList(languageList: Language.languageList())

这应该可以满足你的需要

ListView.builder(
收缩膜:对,
itemCount:Language.languageList().length,
itemBuilder:(上下文,索引){
Language=Language.languageList()[index];
返回手势检测器(
onTap:(){
_更改语言(语言)
},
孩子:排(
mainAxisAlignment:mainAxisAlignment.spaceAround,
儿童:[
正文(
e、 旗帜,
样式:TextStyle(字体大小:30),
),
文本(如名称)
],
)
);
},
)

这应该可以满足您的需要

ListView.builder(
收缩膜:对,
itemCount:Language.languageList().length,
itemBuilder:(上下文,索引){
Language=Language.languageList()[index];
返回手势检测器(
onTap:(){
_更改语言(语言)
},
孩子:排(
mainAxisAlignment:mainAxisAlignment.spaceAround,
儿童:[
正文(
e、 旗帜,
样式:TextStyle(字体大小:30),
),
文本(如名称)
],
)
);
},
)

什么不起作用?显示ListView.builder实现。什么不起作用?显示ListView.builder实现。