gpt4 book ai didi

java - 如何使用 getString() 获取偏好的 "title"而不是 "value"

转载 作者:行者123 更新时间:2023-11-30 11:53:23 24 4
gpt4 key购买 nike

我是 Java 和 Android 编程的新手,我学得相当快,但经过一个小时的谷歌搜索后,我似乎找不到任何答案......

我已经使用一个使用 ListPreference 条目的 preferences.xml 设置了我的 android 应用程序。它引用了2个字符串数组,一个用于列表显示,另一个用于实际值:

    <ListPreference
android:title="Draw Rule"
android:summary="Choose between Draw 1 and Draw 3"
android:key="draw_rule"
android:defaultValue="draw3"
android:entries="@array/drawrule"
android:entryValues="@array/drawruleValues" />

我的 arrays.xml 看起来像这样:

<string-array name="drawrule">
<item name="draw1">Draw 1</item>
<item name="draw3">Draw 3</item>
</string-array>
<string-array name="drawruleValues">
<item name="draw1">draw1</item>
<item name="draw3">draw3</item>
</string-array>

为了获得首选项,我首先使用 getDefaultSharedPreferences :

    SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);

我了解如何使用 sharedPrefs.getString("draw_rule", "null") 从 drawruleValues 获取正确的值。我的问题是,出于显示目的,我想显示来自 drawrule 的项目,而不是 drawruleValues(例如 "Draw Setting: Draw 3")。

谁能告诉我怎么做?

最佳答案

选项 #1:不要使用单独的 <string-array>资源。使用 drawrule对于您的首选项定义中的两个数组。

选项 #2:遍历 drawruleValues 的内容(通过 getStringArray()Resources 对象上)找到值的索引,然后使用它从 drawrule 中获取“标题”数组(同样,通过 getStringArray() 对象上的 Resources)。

关于java - 如何使用 getString() 获取偏好的 "title"而不是 "value",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6313765/

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