gpt4 book ai didi

android - 在主 Activity 中从 XML 初始化首选项

转载 作者:IT王子 更新时间:2023-10-28 23:43:32 29 4
gpt4 key购买 nike

我的问题是,当我启动应用程序并且用户没有打开我的 PreferenceActivity 所以当我检索它们时,没有在我的preference.xml 文件中定义任何默认值。

preference.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="applicationPreference" android:title="@string/config"
>
<ListPreference
android:key="pref1"
android:defaultValue="default"
android:title="Title"
android:summary="Summary"
android:entries="@array/entry_names"
android:entryValues="@array/entry_values"
android:dialogTitle="@string/dialog_title"
/>
</PreferenceScreen>

我的主要 Activity 的 fragment (onCreate 方法):

    SharedPreferences appPreferences = PreferenceManager.getDefaultSharedPreferences(this);        
String pref1 = appPreferences.getString("pref1", null);

结果我得到一个 null 值。

最佳答案

在您的主 ActivityonCreate() 中,只需调用 the PreferenceManager.setDefaultValues() method .

PreferenceManager.setDefaultValues(this, R.xml.preference, false);

这将读取您的 preference.xml 文件并设置其中定义的默认值。将 readAgain 参数设置为 false 意味着这只会在过去从未调用过此方法的情况下设置默认值,因此您无需担心覆盖用户的每次创建 Activity 时的设置。

关于android - 在主 Activity 中从 XML 初始化首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2874276/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com