Android - 读取 arrays.xml

标签 android

我有一组首选项存储在 arrays.xml 中,看起来类似于:

<string-array name="firstname">
        <item name="1">Bob</item>
        <item name="6">Kevin</item>
        <item name="3">Peter</item>
        <item name="4">Paul</item>
        <item name="5">Simon</item>
        <item name="2">Matt</item>        
</string-array>

<string-array name="FirstnameValues">
    <item name="1">1</item>
    <item name="2">2</item>
    <item name="3">3</item>
    <item name="4">4</item>
    <item name="5">5</item>
    <item name="6">6</item>
</string-array>

这些用于填充 ListPreference。 SharedPreferences中存储的item是item的名称;例如,对于 Kevin,SharedPreferences 中存储的项目将为 6。

prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String Firstname = prefs.getString("namesList", "");

所以在这里,Firstname 会给我 6,当为所选项目 Kevin 选择 SharedPreference key namesList 时。

我只想读取 array.xml,这样我就可以将数字 6 与 Kevin 联系起来。我可以使用 getResources().getStringArray(R.array.testArray); 但这只会返回一个包含“Bob、Kevin、Peter、Paul、Simon、Matt”的数组。

它不包括命名值。

你知道我怎样才能得到每个人的名字和元素吗?

最佳答案

好吧,我不知道你是否可以直接这样做,但你总是可以创建一个包装类来加载两个字符串数组并为任何给定的数组值提供两个值。

关于Android - 读取 arrays.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9485459/

相关文章:

java - OpenCv 人脸追踪 Android 应用程序

android - 如何使一种语言适用于 android I18N 中的所有区域?

Android - 无法打开内容 : file:///storage/emulated/0

java - 如何访问膨胀布局内的 TextView 的值

android - 如何在应用程序打开时获取服务器更新?

android - 为 viewpager 中的 fragment 改变 windowSoftInputMode

Android 指纹代码在服务类中不起作用

android - 硬件加速 Activity - 如何获得 OpenGL 纹理大小限制?

Android Application.onCreate长流程

android - Cordova 应用在 Android 上几分钟后停止在后台播放音频