终止后保存

时间:2011-01-27 18:24:10

标签: android listview state save

在我的Android应用程序中,我有一个带有复选框的项目列表视图。如果选中复选框,则计算值。但是,在应用程序终止后,listview会自行重置,所有复选框都会被取消。当应用程序完全终止时,如何保存复选框已选中/未选中状态?我已经查找了各种方法,但对于初学者来说似乎都很复杂:(

3 个答案:

答案 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()写一些偏好。