我正在尝试从我之前填充的对象中获取值。
代码-这是我的对象类:
class ProductObject extends Object{
String _entries;
ProductObject(
this._entries,
);
}
现在我试图在我的代码中填充对象。代码-这里我填充对象:
return GestureDetector(
onTap: () {
ProductObject productObject = ProductObject(
'Any Data',
);
print('newProductObejct: ' + productObject._image.toString());
Navigator.push(context, MaterialPageRoute(builder: (context) => ProductDetail(productObject)));
},
代码'productObject._entries.toString()'正常工作。我可以从对象中获取数据。
但是如果我将对象传递给另一个显示我无法获得对象数据。代码-这是我的第二页:
class ProductDetail extends StatefulWidget {
var _product_data;
ProductDetail(this._product_data,{Key? key}) : super(key: key);
@override
_ProductDetail createState() => _ProductDetail (_product_data);
}
class _ProductDetail extends State<ProductDetail > {
var _product_data;
_ProductDetail(this._product_data);
@override
Widget build(BuildContext context) {
return Scaffold(
body:
GestureDetector(
onTap: (){
print('newProductObejct: ' + _product_data._image.toString());
},child: Text('text'),),
);
}
}
在第二页我得到了一个错误。这样的:
- 在调度指针事件时抛出以下_TypeError:
类型'Null'不是'function result'类型'String'的子类型
如何将对象数据传递到另一个页面并在那里调用它们?
在_ProductDetail
状态类中不需要构造函数。您可以像这样简单地从状态类访问成员_product_data
:
widget._product_data