设置拾取的图像时出现此错误,future dynamic不是字符串的子类型.

这是我设置图像的方式

enter image description here

This is how am saving the image path using shared preferences enter image description here

我哪里会出错?

推荐答案

这是因为GetImagePathFromSharedReferences不返回字符串?,它返回一个future

您可以在initState中处理异步任务,也可以使用FutureBuilder

make sure to set the return type of getImagePathFromSharedPreferences

Future<String?> getImagePathFromSharedPreferences() async {
   // ...
}

我将使用FutureBuilder:

FutureBuilder<String?>(
  future: getImagePathFromSharedPreferences(),
  initialData: null,
  builder: (
      BuildContext context,
      AsyncSnapshot<String?> snapshot,
      ) {
    if (snapshot.connectionState != ConnectionState.done) {
      return const CircularProgressIndicator();
    } else if (!snapshot.hasError) {
      return CircleAvatar(
        radius: 45.0,
        backgroundImage: _imageFile != null
          ? Image.file(_imageFile).image
          : snapshot.hasData
            ? FileImage(snapshot.data!)
            : AssetImage(_imageUrl),
      );
    } else {
      return const Text('Error');
    }
  },
),

Flutter相关问答推荐

如何更改ElevatedButton的 colored颜色 以按下它?

将CLOUD_FIRESTORE程序包更新到版本4.13.0(到Windows)时出现问题

脚本具有不受支持的MIME类型(';Text/html';).(messaging/failed-service-worker-registration)

Flutter :在后台实现振动

将侧边菜单和底部导航栏放在同一Flutter 应用程序中

轻松本地化包翻译在底部导航栏项目标签Flutter 翼dart 中不起作用

如何在Flutter 安全存储器中存储对象值?

Flutter卡内容未在水平列表视图中居中

参数类型void Function()无法分配给参数类型void Function(LongPressEndDetails)?

在 Flutter 中使用条件语句设置 ImageProvider Object 类型的背景图像

Flutter 未处理的异常 - 对 null 值使用 Null 判断运算符

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

PreferredSizeWidget类不能用作混合,因为它既不是混合类也不是混合

如何在 GridView.builder 中设置 textform 字段并在 flutter 中将 12 个 textformfield 作为单个字符串获取?

为什么轮播加载图片很慢?

statefulWidget 无法进行所需更改的问题

在 Flame Forge2d 中射击子弹

为什么 orientation == Orientation.portrait 总是正确的,尽管我的设备已经处于横向

无法列出 com.facebook.android:facebook-login -Facebook 登录问题的版本

在 Flutter 中单击时切换按钮 colored颜色 没有改变