【发布时间】:2020-10-11 07:17:01
【问题描述】:
要测试的示例代码
import 'dart:async';
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State {
StreamController controller;
List imgs = [
'https://images.unsplash.com/photo-1519336367661-eba9c1dfa5e9?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1050&q=80',
'https://images.unsplash.com/photo-1594164070019-a3bd58576d55?ixlib=rb-1.2.1&auto=format&fit=crop&w=675&q=80',
'http://www.example.com'
];
int i = 0;
@override
void initState() {
super.initState();
controller = StreamController();
const oneSec = const Duration(seconds: 5);
new Timer.periodic(oneSec, (Timer t) {
print('value of i $i');
controller.sink.add(imgs[i]);
i++;
if (i > 2) {
i = 0;
}
});
}
@override
void dispose() {
controller.close();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: StreamBuilder(
stream: controller.stream,
builder: (context, snapshot) {
if (snapshot.hasData) {
return Image.network(
snapshot.data,
loadingBuilder: (context, child, loading) {
if (loading == null) return Center(child: child);
return Center(child: CircularProgressIndicator());
},
errorBuilder: (context, object, error) {
return Center(child: CircularProgressIndicator());
},
);
} else {
return Container();
}
},
),
);
}
}
第三张图片不显示。这很明显。但是在errorBuilder之后,代码没有显示任何其他有效的网络图像。
在 github 中,我说这是一个错误。
但是团队说我必须在stackoverflow中提出问题
这是一个错误还是我犯了什么错误?
- 请避免阅读以下文字:*
It looks like your post is mostly code; please add some more details.- 来自 stackoverflow 的错误。我现在必须填写没有任何意义的不需要的词 :-( 有时代码足以描述问题
【问题讨论】:
-
你和我都知道第三张图片实际上是一个网站的链接,但 errorBuilder 显示的是错误的替换,即 CircularProgressIndicator。比什么问题?你没有正确地阐述你的问题。
-
The third image is not displayed. It is obvious. But after errorBuilder, The code does not show any other valid network images.在第三张图片之后,如果您看到代码,我想再次显示未显示的第一张图片。我做了很少的测试,它发生在mac而不是windows
标签: flutter