【问题标题】:SearchDelegate don't return for the page in release modeSearchDelegate 在发布模式下不返回页面
【发布时间】:2021-09-28 01:17:19
【问题描述】:

我在 SearchDelegate 中有这段代码

class CustomSearchDelegate extends SearchDelegate<String> {

  @override
  List<Widget> buildActions(BuildContext context) {
    return [
      IconButton(
        icon: Icon(Icons.clear),
        onPressed: (){
          query = "";
        },
      )
    ];
  }

  @override
  Widget buildLeading(BuildContext context) {
    return IconButton(
      icon: Icon(Icons.arrow_back),
      onPressed: (){
        close(context, "");
      },
    );
  }


  @override
  Widget buildResults(BuildContext context) {
   close(context, query );
    return Container();
  }

  @override
  Widget buildSuggestions(BuildContext context) {
    return Container();        
  }

}

当我在调试模式下运行它时,它可以正常工作。但是当我在发布模式下运行时,确认搜索时,它不会返回调用搜索的页面,它只是返回容器,即使使用“关闭(上下文,查询);”在 buildResults 之前。

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    我无法解决这个具体问题,我确实搜索了任何可能的解决方案,但这似乎与flutter在release中生成apk的方式有关。在我的例子中,我刚刚放弃了使用带有 SearchDelegate 的 showSearch,并创建了一个自定义 Appbar,例如 SearchBar。我将在下面留下一些我基于它的链接

    这是我用得最多的例子

    https://github.com/ahmed-alzahrani/Flutter_Search_Example

    Custom AppBar Flutter

    这个选项我没用过,但我发现它作为优化搜索栏的另一个选项很有趣

    https://pub.dev/packages/flutter_search_bar

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-15
      • 2021-01-15
      • 1970-01-01
      • 2019-05-12
      • 2023-03-03
      • 2020-08-11
      • 2020-08-14
      • 1970-01-01
      相关资源
      最近更新 更多