如何从 Flutter 的列表中为模型类赋值? [复制]
Posted
技术标签:
【中文标题】如何从 Flutter 的列表中为模型类赋值? [复制]【英文标题】:How to assign values to a model class from a list in Flutter? [duplicate] 【发布时间】:2021-02-11 15:23:42 【问题描述】:在 cats.dart 页面上我有:
class Cats
String name;
String gender;
int age;
Cats(this.name, this.gender, this.age);
setData(list)
for(int i = 0; i < l.length; i++)
name = list[0];
gender = list[1];
age = list[2];
然后我在一个名为 kitty.dart 的页面上:
import: 'cats.dart';
List<String> cat = ["fluffy","female",3];
class Kitty extends StatefulWidget
@override
_Kitty createState() => _Kitty();
class _Kitty extends State<Kitty>
Cats kitten;
String data = '';
@override
void initState()
super.initState();
@override
Widget build(BuildContext context)
return Scaffold(
appBar: AppBar(
title: const Text('Cats'),
),
body:
Column(
children: [
Text(
data, style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
),
FlatButton(
onPressed: ()
kitten.setData(cat);
setState(()
data = kitten.name;
);
,
child: Text('Get Data', style: TextStyle(fontSize: 20),
),
),
],
),
);
和通常的 main.dart:
import: 'kitty.dart';
void main()
runApp(MyApp());
class MyApp extends StatelessWidget
@override
Widget build(BuildContext context)
return MaterialApp(
theme: ThemeData.light(),
debugShowCheckedModeBanner: false,
home: Kitty(),
);
...它甚至看起来很傻,但我已经尝试并无法弄清楚...它说的是
在 null 上调用了方法“setData”。 接收方:空 尝试调用:setData(Instance(length:3) of '_GrowableList')
任何帮助将不胜感激...
【问题讨论】:
你好,可以分享XWordTile
类的代码吗?
你从未初始化xwordtile
,所以它是null
。有关说明,请参阅链接。
@YakhyoMashrapov 抱歉,我错过了...编辑了代码..
@nvoigt 也道歉...当我复制真实代码时出错...错过了...
那么,你在哪里初始化kitten
?
【参考方案1】:
你必须初始化你的小猫对象。
只需在initState
中添加这行代码
kitten = Cats();
【讨论】:
你的代码现在可以工作了吗? 当然,欢迎))以上是关于如何从 Flutter 的列表中为模型类赋值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在多个标签问题中为 tensorflow 模型设置类权重?
Flutter 使用 BloC 模式从 API 结果中获取列表元素