终止后保存
问题描述:
在我的Android应用程序中,我有一个列表视图与一堆项目与复选框。如果选中复选框,则会计算一个值。但是,应用程序终止后,列表视图会自动重置,所有复选框都将被取消选中。我该怎么做,所以当应用程序被完全终止,复选框选中/未选中状态保存?我抬头各种方法,但都显得相当复杂的初学者:(终止后保存
答
正如其他人建议,应保存您的复选框,设置SharedPreferences
的基本思路是,在您onPause()
方法读取用户界面的状态并将这些值写入首选项。然后在onResume()
中,您将这些值读回并重新填充UI。
在Data Storage链接的示例将偏好的保存在onStop()
,但是在android Application fundamentals状态:
注意,在上表中的Killable列。它表示系统是否可以在方法返回后的任何时间终止托管活动的进程,而不执行活动代码的另一行。三种方法(
onPause()
,onStop()
和onDestroy()
)标记为“是”。因为onPause()
是三个中的第一个,所以它是唯一一个在进程被杀之前保证被调用的 -onStop()
和onDestroy()
可能不是。因此,您应该使用onPause()
将任何持久性数据(如用户编辑)写入存储。
因此,我建议写信给onPause()
而不是onStop()
。