在我的Android应用程序中,我有一个带有复选框的项目列表视图。如果选中复选框,则计算值。但是,在应用程序终止后,listview会自行重置,所有复选框都会被取消。当应用程序完全终止时,如何保存复选框已选中/未选中状态?我已经查找了各种方法,但对于初学者来说似乎都很复杂:(
答案 0 :(得分:1)
您可能想尝试SharedPreferences
此外,还有一个使用SharedPreferences
的APIDemo:APIDemo
答案 1 :(得分:1)
这是一个链接,以及一个简单的示例: http://developer.android.com/guide/topics/data/data-storage.html#pref
答案 2 :(得分:1)
正如其他人所建议的那样,您应该将复选框设置保存到SharedPreferences
。基本思想是在onPause()
方法中,您可以读取UI的状态并将这些值写入首选项。然后在onResume()
中,您回读这些值并重新填充UI。
Data Storage链接中的示例将首选项保存在onStop()
中,但是android Application fundamentals表示:
请注意上表中的 Killable 列。它指示系统是否可以在方法返回后随时终止承载活动的进程,而不执行活动代码的另一行。三种方法(
onPause()
,onStop()
和onDestroy()
)标记为“是”。因为onPause()
是三个中的第一个,所以它是唯一一个在流程被杀之前被保证被调用的人 -onStop()
和onDestroy()
可能不会。因此,您应该使用onPause()
将任何持久性数据(例如用户编辑)写入存储。
因此,我建议在onPause()
而不是onStop()
写一些偏好。