在 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,
我正在根据此参考构建一个 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,