这是我的项目:https://github.com/OstapFilipenko/Picslash
我试图创建一个应用程序,这是从unsplash API获取图片,并显示这些图片.首先我调用一个异步函数来获取所有的图片并将它们保存在List中.我使用ListView.builder来显示它们,在listView的末尾我有一个按钮,它可以调用API并向ListView添加新的图片。
功能:
var newImages = new List<Picture>();
_getNewPics() async{
counter++;
newImages.clear();
newImages = await API_connection(counter).getPictures();
allImages.addAll(newImages);
}
这里是按钮:
child: FlatButton(
child: Text("Load More",
style: new TextStyle(
color: Colors.white
)
),
onPressed: (){
_getNewPics();
},
),
问题是,当我启动应用程序时,什么都不显示,所以我必须Ctrl+S(重新加载应用程序),然后我看到图像,当我点击“加载更多”按钮时,我也必须这样做。
这将是伟大的,如果有人能帮助我:)
3条答案
按热度按时间hsvhsicv1#
您可以使用
setState()
和StatefulWidget
在新图像到来时重建小部件。qjp7pelc2#
在java中,有一个名为notifyDataSetChanged()的函数,它基本上告诉listView它所显示的列表已经更改,需要更新。下面是Flutter实现相同的详细答案-link
vdgimpew3#
使用flutter_phoenix库来实现此功能。
如果你想重新启动你的应用程序,只需这样做: