xamarin.forms - Xamarin Essentials 首选项和保存列表
问题描述
我正在尝试使用 Xamarin Essentials Preferences 保存值,但是由于我的 SavedList 始终为空,因此出现异常,然后作为异常我有这个未处理的异常:Newtonsoft.Json.JsonReaderException:解析布尔值时出错。路径'',第 1 行,位置 1。但我只是将字符串值传递给保存的列表
private void ExecuteMultiPageCommand(bool value)
{
var recognitionProviderSettings = new RecognitionProviderSettings
{SettingFields = new List<SettingField>()};
var set = new SettingField()
{
ProviderSettingId = "test"
};
AddToList(set.ProviderSettingId);
NotifyPropertyChanged("IsMultiPage");
}
public static class Preference
{
public static List<string> SavedList
{
get
{
var savedList = Deserialize<List<string>>(Preferences.Get(nameof(SavedList), "test"));
return savedList ?? new List<string>();
}
set
{
var serializedList = Serialize(value);
Preferences.Set(nameof(SavedList), serializedList);
}
}
static T Deserialize<T>(string serializedObject) => JsonConvert.DeserializeObject<T>(serializedObject);
static string Serialize<T>(T objectToSerialize) => JsonConvert.SerializeObject(objectToSerialize);
}
void AddToList(string text)
{
var savedList = new List<string>(Preference.SavedList) {text};
Preference.SavedList = savedList;
}
解决方案
推荐阅读
- vector - 用行名向量过滤稀疏矩阵
- tmux - tmux 快速退出并终止会话
- ruby-on-rails - NoMethodError:未定义的方法“标题”#
- machine-learning - 检查输入时出错:预期 embedding_1_input 的形状为 (4,) 但数组的形状为 (1,)
- php - 如何在 PHP 中输出十进制数字?
- razor - 从控制器返回新数据后刷新剃刀视图
- ios - 游戏视图控制器设置背景
- vuejs2 - 当多个组件在 Vuex 中使用相同的操作来获取数据时如何处理状态?
- angular - 刷新页面时如何修复无法在Angular中获取/?
- python - 如何将多个嵌套的 numpy 数组更改为一个多维数组?