为什么图像没有添加到列表视图中的图像容器



这是我的代码如果我按下按钮;热重新加载";按钮

问题:为什么不能将图像添加到ListView中的图像容器中?

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;

void main() {
runApp(MyApp());
}

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Anime Randomizer'),
);
}
}

class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;

@override
_MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
var urlresult = "https://danbooru.donmai.us/data/original/13/c4/13c4ee9c0f8e305fbe6a4c4efb540ec7.jpg";
var filter = "";
var error = "";
var iterator = 0;
List<Widget> imagescontainer = [new Container(child: Image.network("https://danbooru.donmai.us/data/original/13/c4/13c4ee9c0f8e305fbe6a4c4efb540ec7.jpg", width: 400, height: 650)),];

void fetchAnimeUrl() async {
var url = Uri.parse('https://danbooru.donmai.us/posts/random?tags=rating%3Asafe${filter != null ? '+'+filter: ''}&format=json');
final response = await http.get(url);
if (response.statusCode == 200) {
var start = response.body.indexOf('file_url');
var end = response.body.indexOf(',"large_file_url"');
if(start != -1 || end != -1){
setState(() {
iterator++;
urlresult = response.body.substring(start + 11, end - 1);
error = imagescontainer.length.toString();
imagescontainer.add(new Container(child: Image.network(urlresult.toString(), width: 300, height: 620)));
});
}
else{
setState(() {
error = "Купить премиум - 25$";
});
}
} else {
throw Exception('Failed to load anime');
}
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Anime randomizer list"),
),
body: Container(
child: ListView(
scrollDirection: Axis.vertical,
children: imagescontainer //this variable contain all my images
),
),
floatingActionButton: FloatingActionButton(
onPressed: fetchAnimeUrl,
tooltip: 'MoreAnime',
child: Icon(Icons.arrow_circle_down),
),
);
}
}

我修复了它!

body: Container(
child: ListView(
scrollDirection: Axis.vertical,
children: imagescontainer.toList() //i wrote a "toList()"
),
),

最新更新