8000 NoSuchMethodError: The setter 'value=' was called on null. · Issue #22 · peng8350/flutter_pulltorefresh · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
NoSuchMethodError: The setter 'value=' was called on null. #22
Closed
@stefanJi

Description

@stefanJi

When I firstly call refreshController.sendBack in initState firstly, will throw NoSuchMethodError: The setter 'value=' was called on null.

As follows code:

abstract class BaseListState extends State<BaseListWidget>
    with AutomaticKeepAliveClientMixin<BaseListWidget> {
   RefreshController _refreshController = RefreshController();
   List data;

  @override
  void initState() {
    super.initState();
    _loadNew();
  }

  _loadNew() async {
    final remoteDate = await _loadData();
    if (mounted) {
      setState(() {
        data = remoteDate;
      });
      _refreshController.sendBack(true, RefreshStatus.completed);
      if (page == total) {
        _refreshController.sendBack(false, RefreshStatus.noMore);
      } else {
        _refreshController.sendBack(false, RefreshStatus.canRefresh);
      }
    }
  }

  @override
  Widget build(BuildContext context) {
    return data == null
        ? Center(child: CircularProgressIndicator())
        : SmartRefresher(
            controller: _refreshController,
            enablePullDown: true,
            enablePullUp: true,
            onRefresh: (up) {
              if (up) {
                _loadNew();
              } else {
                _loadMore();
              }
            },
            child: ListView.builder(
                itemCount: data == null ? 0 : data.length,
                itemBuilder: (context, index) {
                  return childBuild(context, index);
                }));
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0