我在Flatter中将变量从一个活动传递到另一个活动,但得到错误"无法使用静态访问访问实例成员'latitude'"我需要在该块中转换它,以便将其分配给静态URL.

class Xsecond extends StatefulWidget {
  final double latitude;
  final double longitude;
  Xsecond(this.latitude, this.longitude, {Key key}): super(key: key);

  @override
  _Xsecond createState() => _Xsecond();
}

class _Xsecond extends State<Xsecond> {
  static String lat = Xsecond.latitude.toString(); // Error: Instance member ‘latitude’ can’t be accessed using static access
  ...

然后

  ...
  String url = 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=${lat},$lng&radius=$radius&type=restaurant&key=$api';
  ...

推荐答案

在您的代码中,纬度和经度都定义为非静电,即都是实例变量.这意味着只能使用类实例调用它们.

class _Xsecond extends State<Xsecond> {
      final xsecond = Xsecond();
      static String lat = xsecond.latitude.toString();
      ...

请阅读任何面向对象编程语言的基础知识,例如DART、Java、C++

然而,在您的上下文中,第一个类是StatefullWidget.因此,您可以通过state类的widget字段访问它.

FIX:

class _Xsecond extends State<Xsecond> {
          static String lat = widget.latitude.toString();
          ...

Flutter相关问答推荐

当未聚焦且非空时,在flutter中更改文本字段的标签 colored颜色

在Riverpod ConsumerWidget中使用文本编辑控制器

如何使用新的Riverpod语法将依赖传递给AsyncNotifier?

SupabaseFlutter 集成问题:无法更新行

CLI数据库连接后将SHA-1密钥添加到Firebase项目

如何将 colored颜色 阴影作为默认容器 colored颜色 应用于自定义窗口小工具?

如何防止onTapCancel由子元素触发?

在背景图像上排列定位徽标

Flutter守护进程无法启动

如何在Flutter中制作弯曲文本

带有命名参数的回调函数不起作用

在 flutter 的列中使用 Expanded 时出现渲染 Flex 错误

Flutter - Stripe:类型List 不是类型Map 的子类型? method_channel_stripe.dart 中的错误:263

获取通过列表呈现的相同 TextEditingController 的值

#Flutter/Riverpod - 使用 AsyncNotifier 时是否可以仅调用错误?

如何使Flutter 屏幕无法关闭?

如何在向下滚动时隐藏顶部卡片并在向上滚动时出现?

Flutter_riverpod 安装时出现问题

我们什么时候在flutter中初始化一个provider?

参数类型Future>不能分配给参数类型Future>?