问题描述
使用 pull 从使用 listView.Builder 和 StreamBuilder 从 API 获取数据的刷新。当我出现下拉刷新指示器时,一切正常。但我希望整个列表视图向下滚动,而不仅仅是显示刷新指示器。之后我只能使用 ListView.Builder 小部件,当我使用 listView 时,任何未显示在脚手架页面中的内容。
我想要在 pull_to_refresh 自述文件部分显示的那张照片中的那个。 https://github.com/peng8350/flutter_pulltorefresh/raw/master/arts/example5.gif
class _NewsFeedState extends State<NewsFeed> {
HomeBloc _homeBc;
RefreshController _refreshController = RefreshController();
@override
void initState() {
_homeBc = HomeBloc();
_homeBc.homePostRequest();
super.initState();
}
@override
Widget build(BuildContext context) {
return StreamBuilder(
initialData: ResponSEObj(message: MsgState.loading),stream: _homeBc.homePostStream(),builder: (context,snapshot) {
ResponSEObj received = snapshot.data;
if (received.message == MsgState.loading) {
return Center(
child: CircularProgressIndicator(),);
} else if (received.message == MsgState.data) {
print('=>=>=>=>=> ${received.data}');
List<HomePostData> list = received.data;
return Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),child: SmartRefresher(
onRefresh: () {
_homeBc.homePostRequest();
},onLoading: () {
_homeBc.loadMoreHomeRequest();
},controller: _refreshController,// child: ListView(
// padding: EdgeInsets.all(10),// children: list.map((e) {
// Post(
// onTap: (){},// image: e.image,// postTitle: e.title,// uploadDateTime: e.createdAt,// postContent: e.description,// );
// }).toList(),// ),child: ListView.builder(
padding: EdgeInsets.all(8.0),physics: AlwaysScrollableScrollPhysics(),itemCount: list.length,itemBuilder: (context,index) {
return Post(
onTap: () {},image: list[index].image,postContent: list[index].description,uploadDateTime: list[index].createdAt.split('T')[0],postTitle: list[index].title,);
},),);
} else {
return Center(
child: Text('Something Wrong'),);
}
},);
}
@override
void dispose() {
_homeBc.homeRqClose();
super.dispose();
}
}
home_body.dart 文件
class HomeBody extends StatelessWidget {
@override
Widget build(BuildContext context) {
return SafeArea(
child: Column(
children: [
SizedBox(height: getScreenHeightRation(10.0),HomeHeader(),SizedBox(height: getScreenHeightRation(30.0),HomeCatergories(),SizedBox(height: getScreenHeightRation(10.0),NewsFeed(),],);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)