如何解决Flutter:添加新项目列表视图会更改“赞”按钮的持久共享首选项
我希望有人可以提供帮助。我在列表视图的每张卡上都有一个喜欢的按钮。我创建了一个指示器列表,以识别卡的索引是“ 0”(也就是未选中的按钮,如未选中的按钮)还是“ 1”(也就是已选中的按钮的真)。一切似乎都按预期方式工作,这意味着按钮的状态会发生变化,并且数据将通过共享首选项进行保存和恢复。但是,当我将一个项目添加到列表视图时,“喜欢”按钮的先前状态会发生变化(例如:如果在添加项目之前喜欢该卡片,则该按钮会有所不同)。有趣的是,如果删除列表中的最新项目,将恢复“赞”按钮的状态。
'''
<svg height="250px" width="250px">
<circle
r="120"
cx="125"
cy="125"
fill="#334d5c"
stroke="#e27a3f"
stroke-width="10px"
/>
</svg>
<svg height="250px" width="250px">
<circle r="120" cx="125" cy="125"
stroke="#e27a3f" stroke-width="10px"/>
<circle r="120" cx="125" cy="125"
fill="#334d5c"/>
</svg>
'''
''
List<String> liked_indicator = List.filled(100000,'0');
static const liked_key = 'liked_key';
void _restore_like(String docId)async{
var preferences = await SharedPreferences.getInstance();
var liked_indicator_updated = preferences.getStringList("$docId$liked_key") ?? '0';
setState(() => this.liked_indicator = liked_indicator_updated
);
print("$docId$liked_key");
}
void _persist_like(String docId)async{
var preferences = await SharedPreferences.getInstance();
preferences.setStringList("$docId$liked_key",this.liked_indicator);
print(this.liked_indicator);
print("$docId$liked_key");
Icon heart_icon;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。