在 FutureBuilder 中使用 Uint8List 的 Flutter 出现错误

Flutter using Uint8List in FutureBuilder is giving error

我正在根据此参考构建一个 flutter gallery 应用 Flutter Image Gallery

一切正常,但我在内部遇到错误 Future Builder

这是我收到的错误警告

The name 'Uint8List' isn't a type so it can't be used as a type argument.
Try correcting the name to an existing type, or defining a type named 'Uint8List'.

这是我遇到的运行时错误

Error: 'Uint8List' isn't a type.
    return FutureBuilder<Uint8List>(
                         ^^^^^^^^^

这个Uint8List对我来说是全新的概念,不知道该怎么做。

这是returns未来建设者

的小部件
  @override
  Widget build(BuildContext context) {
    // We're using a FutureBuilder since thumbData is a future
    return FutureBuilder<Uint8List>(
      future: asset.thumbData,
      builder: (_, snapshot) {
        final bytes = snapshot.data;
        // If we have no data, display a spinner
        if (bytes == null) return CircularProgressIndicator();
        // If there's data, display it as an image
        return InkWell(
          onTap: () {
            // TODO: navigate to Image/Video screen
          },
          child: Stack(
            children: [
              // Wrap the image in a Positioned.fill to fill the space
              Positioned.fill(
                child: Image.memory(bytes, fit: BoxFit.cover),
              ),
              // Display a Play icon if the asset is a video
              if (asset.type == AssetType.video)
                Center(
                  child: Container(
                    color: Colors.blue,
                    child: Icon(
                      Icons.play_arrow,
                      color: Colors.white,
                    ),
                  ),
                ),
            ],
          ),
        );
      },
    );
  }

我在 google 上搜索过,但没有得到任何满意的答案。提前致谢。

试试这个解决方案:

FutureBuilder<Uint8List>

FutureBuilder<dynamic>

FutureBuilder<List<int>>

只需省略类型,编译器足够聪明 infer 根据您提供的 Future<> 类型:

FutureBuilder(
    future: asset.thumbData,