我需要从Flutter的“共享首选项”小部件中获取一个URL,并将其插入Image.network小部件中。这是我创建的类(class);
class GetSharedPrefs() {
static getCurrentNameSF() async {
String currentname;
SharedPreferences prefs = await SharedPreferences.getInstance();
currentname = prefs.getString("currentname");
print(currentname);
}
}
我尝试将方法转换为一个名为“spavatar”的变量,然后将其插入到构建中。String spavatar = GetSharedPrefs.getCurrentNameSF().toString();
插入 icon: Image.network(
spavatar,
),
但这会引发以下错误:I/flutter (24368): The following _TypeError was thrown attaching to the render tree:
I/flutter (24368): type 'Future<dynamic>' is not a subtype of type 'String'
那么如何将函数的结果放入需要URL的Image.network小部件中?还是有另一种方法我应该这样做? 最佳答案
该函数必须返回一个value
,并且作为异步方法,它必须是Future<type>
:
class GetSharedPrefs {
static Future<String> getCurrentNameSF() async {
String currentname;
SharedPreferences prefs = await SharedPreferences.getInstance();
currentname = prefs.getString("currentname");
print(currentname);
return currentname;
}
}
现在致电:String spavatar = await GetSharedPrefs.getCurrentNameSF();
关于flutter - Flutter/Dart:从“共享首选项”小部件中获取URL,以在Image.Network小部件中使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62791875/