Mar*_*ark 17 static instance dart flutter
我在flutter中将变量从一个活动传递到另一个活动,但收到错误“无法使用静态访问访问实例成员'纬度'”我需要在该块中转换它,以便我可以将其分配给静态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
...
Run Code Online (Sandbox Code Playgroud)
其次是
...
String url = 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=${lat},$lng&radius=$radius&type=restaurant&key=$api';
...
Run Code Online (Sandbox Code Playgroud)
Sis*_*sir 13
在您的代码中,纬度和经度都被定义为非静态的,即实例变量。这意味着它们只能使用类实例调用。
class _Xsecond extends State<Xsecond> {
final xsecond = Xsecond();
static String lat = xsecond.latitude.toString();
...
Run Code Online (Sandbox Code Playgroud)
请阅读任何面向对象编程语言的基础知识,例如 Dart、java、C++
但是,在您的上下文中,第一类是您的 StatefullWidget。因此,您可以通过widget状态类的字段访问它。
使固定:
class _Xsecond extends State<Xsecond> {
static String lat = widget.latitude.toString();
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36875 次 |
| 最近记录: |