获取存储的共享首选项列表并在列表视图中显示

时间:2018-12-05 06:42:35

标签: dart flutter

您好,我在从“共享首选项”获取存储的值并显示它时遇到问题。它给Future不包含长度实例错误。我的代码如下。

保存共享的偏好设置值代码

Future<String> saveSearchQuery(String squery) async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    if(prefs.getStringList("searchhistory") == null){
      final List<String> recentSearch = [];
      recentSearch.insert(0, squery);
      prefs.setStringList("searchhistory", recentSearch);
    }else{
      final recentSearch = prefs.getStringList("searchhistory");

      if(recentSearch.contains(squery)){
          recentSearch.forEach((e) => print(e));
      }else{
          recentSearch.insert(0, squery);
      }
      prefs.setStringList("searchhistory", recentSearch);
    }
    return prefs.commit().toString();
}

获取共享的偏好值代码

Future<dynamic> getSearchHistory() async {
   SharedPreferences prefs = await SharedPreferences.getInstance();
   List searchHistory = prefs.getStringList("searchhistory");
   return searchHistory.toList();
}

请帮助。谢谢。

0 个答案:

没有答案