首页 > 解决方案 > 如何从对象中获取值/数据

问题描述

我试图从我之前填充的对象中获取值。

代码 - 这是我的对象类:

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'),),                   
    );
  }
}

在第二页上,我得到了一个错误。像这样:

“Null”类型不是“函数结果”的“字符串”类型的子类型

如何将对象数据传递到另一个页面并在那里调用它们?

标签: flutterobjectget

解决方案


您不需要_ProductDetail状态类中的构造函数。您可以_product_data像这样简单地从状态类访问成员:

widget._product_data

推荐阅读