我有一个GridView
,每个项目都是一个打开活动的集合,但首先它使用boolean
检查此项目是否已解锁,其值由{{1保存如果它已被锁定,则会将名为SharedPreference
的{{1}}更改为项目名称并打开String
,如果用户按下肯定按钮,则应更改{{1}的值错误,这意味着它不再被锁定,它应该正常打开,但问题是不会改变用户必须解锁它两次才能更改,我检查一切是否正确使用name
一切都正常,除了布尔值没有改变,有人可以告诉你如何解决这个问题。
这是我的代码:
这是我的AlertDialog
方法:
boolean
答案 0 :(得分:2)
使用apply()
不会立即保存。如果你需要立即保存它,你应该使用commit
但是使用commit可以阻止ui线程。
注意:
如果您使用commit
,则会收到此警告,告诉您差异
Consider using apply() instead; commit writes its data to persistent storage immediately, whereas apply will handle it in the background