Flutter应用程序:在null上调用了方法“call”

uubf1zoe  于 2023-03-31  发布在  Flutter
关注(0)|答案(1)|浏览(146)

我做了一个应用程序,搜索一些东西,并显示在列表上。一旦搜索有一些数据,它失败了以下错误。

The method 'call' was called on null.
Receiver: null
Tried calling: call()

它在以下方面失败

child: SearchBar

以下是我的身体.dart文件。

Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Padding(
            padding: const EdgeInsets.symmetric(horizontal: 20),
            child: SearchBar<BookList>(
              onSearch: _isOnline
                  ? search
                  : _showToast(constants.offlineErrorMessage),
              onItemFound: _showToast("Data Found"),
              loader: const Center(child: CircularProgressIndicator()),
              emptyWidget: Center(
                  child: SelectableText.rich(
                _isOnline
                    ? TextSpan(
                        style: TextStyle(fontSize: 18),
                        children: [
                          TextSpan(
                              text:
                                  "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNo Data found!"),
                        ],
                      )
                    : TextSpan(text: constants.offlineErrorMessage),
              )),
             ),
              textStyle:
                  TextStyle(color: Colors.black, fontWeight: FontWeight.bold),
            )),
      ),
    );
  }
kpbwa7wx

kpbwa7wx1#

希望你创建一个名为search的函数
尝试创建另一种方法。

Function SearchFunction(){
  return search();
}

然后把这个方法放在那里

onSearch: _isOnline
              ? SearchFunction
              : _showToast(constants.offlineErrorMessage),

相关问题