Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android GetDefaultSharedReferences(…)在没有现有缓存的第一次运行中不起作用_Android - Fatal编程技术网

Android GetDefaultSharedReferences(…)在没有现有缓存的第一次运行中不起作用

Android GetDefaultSharedReferences(…)在没有现有缓存的第一次运行中不起作用,android,Android,我有一个PreferenceActivity,它保存了我所有的应用程序首选项。 当我想在主要活动中使用这些首选项时,我会使用: prefScreen = PreferenceManager.getDefaultSharedPreferences(this); String lang = prefScreen.getString("language_list", null); 现在,当我这样做并在没有缓存的设备上第一次运行我的应用程序时,它会立即崩溃。 但是,如果我在主活动开始时使用startA

我有一个PreferenceActivity,它保存了我所有的应用程序首选项。 当我想在主要活动中使用这些首选项时,我会使用:

prefScreen = PreferenceManager.getDefaultSharedPreferences(this);
String lang = prefScreen.getString("language_list", null);
现在,当我这样做并在没有缓存的设备上第一次运行我的应用程序时,它会立即崩溃。 但是,如果我在主活动开始时使用startActivity调用PreferenceActivity,然后返回到主活动本身,它运行得非常好,即使我编辑了代码并再次运行它。 如果我手动清除应用程序的缓存,问题还会再次出现。 我应该在第一次跑步时呼叫PreferenceActivity吗?!我错过什么了吗


注意:我用日志向自己确认了这一点。在第一次运行之前,prefScreen.containslanguage_list始终等于false。在我调用PreferenceActivity之后,它变为真。

在使用之前,您必须在Main中调用setDefaultValues来设置默认值

PreferenceManager.setDefaultValues (Context context, int resId, boolean readAgain)

在使用之前,必须在Main中调用setDefaultValues来设置默认值

PreferenceManager.setDefaultValues (Context context, int resId, boolean readAgain)

第一次运行时,首选项不存在。从您发布的内容来看,您的应用程序正在崩溃,因为您必须使用lang,并且在第一次调用时它将为null

要更新首选项,您需要调用“首选项”活动来保存首选项,并且已经看到它可以使用该活动,或者在首选项XML文件中,您需要定义默认值并在执行任何需要首选项的任务之前调用setDefaultValues


希望这有帮助。

第一次运行时,首选项不存在。从您发布的内容来看,您的应用程序正在崩溃,因为您必须使用lang,并且在第一次调用时它将为null

要更新首选项,您需要调用“首选项”活动来保存首选项,并且已经看到它可以使用该活动,或者在首选项XML文件中,您需要定义默认值并在执行任何需要首选项的任务之前调用setDefaultValues


希望这有帮助。

发布相关代码。。只有两行无法描述。还显示logcat错误数据发布相关代码。。只有两行无法描述。还显示logcat错误数据您保存了我整整一周!谢谢不知什么原因,我到处都找不到这个。你救了我整整一个星期!谢谢由于某种原因,我在任何地方都找不到这个。