[英]How to get the “title” instead of the “value” of a preference with getString()
我是 Java 和 Android 編程的新手,我學得很快,但經過一個小時的谷歌搜索,我似乎找不到任何答案......
我已經使用使用 ListPreference 條目的首選項設置了我的 android 應用程序。xml。 指2個字符串arrays,一個為列表顯示,另一個為實際值:
<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
的內容(通過Resources
對象上的getStringArray()
)以找到該值的索引,然后使用它從drawrule
數組中獲取“標題”(再次,通過getStringArray()
上Resources
對象)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.