我有一个PreferenceActivity
包含我所有应用程序偏好的。当我想在Main
活动中使用这些偏好时,我使用:
prefScreen = PreferenceManager.getDefaultSharedPreferences(this);
String lang = prefScreen.getString("language_list", null);
现在,当我这样做并将我的应用程序作为第一次在设备上运行(没有缓存)运行时,它会立即崩溃。但是,如果我在活动开始时调用PreferenceActivity
(使用) ,然后返回自身,它运行得很好,即使我编辑了代码并再次运行它。如果我手动清除应用程序的缓存,问题会再次发生。我应该总是在第一次运行时打电话吗?!我错过了什么吗?startActivity()
Main
Main
PreferenceActivity
注意:我曾经Log
向自己确认过这一点。在第一次运行之前,prefScreen.contains("language_list")
总是等于false
。我打电话后PreferenceActivity
,它变成了true
。