Http 当点击按钮查看更改时,必须重新加载应用程序(颤振)
这是我的项目: 我正在尝试创建一个应用程序,即从unsplash API获取图片并显示这些图片。 首先,我调用一个异步函数来获取所有图像并将它们保存在列表中。我正在使用ListView.builder来显示它们,在ListView的末尾有一个按钮,可以进行API调用并向ListView添加新图片 职能:Http 当点击按钮查看更改时,必须重新加载应用程序(颤振),http,flutter,asynchronous,dart,async-await,Http,Flutter,Asynchronous,Dart,Async Await,这是我的项目: 我正在尝试创建一个应用程序,即从unsplash API获取图片并显示这些图片。 首先,我调用一个异步函数来获取所有图像并将它们保存在列表中。我正在使用ListView.builder来显示它们,在ListView的末尾有一个按钮,可以进行API调用并向ListView添加新图片 职能: var newImages = new List<Picture>(); _getNewPics() async{ counter++; newImages.clear(
var newImages = new List<Picture>();
_getNewPics() async{
counter++;
newImages.clear();
newImages = await API_connection(counter).getPictures();
allImages.addAll(newImages);
}
问题是,当我启动应用程序时,没有显示任何内容,因此我必须按住ctrl+S键(重新加载应用程序),然后我会看到图像,就像我单击“加载更多”按钮时所做的一样
如果有人能帮助我,那就太好了:)你可以使用
setState()
和StatefulWidget
在新图像出现后重建widget 在java中,有一个名为notifyDataSetChanged()的函数,它基本上告诉listView它显示的列表已更改,需要更新。下面是颤振的详细答案,以实现相同的效果-您可能也需要将“获取新图像”方法置于初始状态
child: FlatButton(
child: Text("Load More",
style: new TextStyle(
color: Colors.white
)
),
onPressed: (){
_getNewPics();
},
),