我正在按照教程building-a-social-network-with-flutter编写一个基于loadmore listview的基础loadmore listview:
将typedef函数定义为listview适配器,它返回每个项目的小部件:
typedef Widget WidgetAdapter<T>(T t);
我的基本列表视图小部件:
class LoadingListView<T> extends StatefulWidget{
...
final WidgetAdapter<T> widgetAdapter;
...
@override createState() => new _LoadingListViewState();
}
我的基本列表视图状态:
class _LoadingListViewState<T> extends State<LoadingListView<T>> {
...
List<T> objects = [];
...
Widget itemBuilder(BuildContext context, int index) {
return widget.widgetAdapter != null ? widget.widgetAdapter(objects[index]);
: new Container();
}
}
在我的UserList小部件中:
@override
Widget build(BuildContext context) {
Widget w;
w = new LoadingListView<User>(
request, widgetAdapter: adapt, pageSize: widget.pageSize, pageThreshold: widget.pageThreshold);
return w;
}
Widget adapt(User user){
return new UserItem(user); //return widget UserItem
}
我收到错误:
type '(User) => Widget' is not a subtype of type '(dynamic) => Widget'
如何修复它。请帮我。非常感谢你。
答案 0 :(得分:2)
StatefullWidget类中的createState()方法存在问题。
像这样更新你的createState()方法。
@override
State createState() => new _LoadingListViewState<T>()