我只是不知道如何完成以下工作;

我想在“ refresh_interval_entries”中显示“人类可读形式”(Log.d()),它对应于在refresh_interval_values中选择的内容。


我在values\arrays.xml中定义了两个数组:

<string-array name="refresh_interval_entries" translatable="false">
    <item>1 minute</item>
    <item>2 minutes</item>
    <item>3 minutes</item>
</string-array>
<string-array name="refresh_interval_values" translatable="false">
   <item>60</item>
   <item>120</item>
   <item>180</item>
</string-array>

我将从refresh_interval_values中选择的值保存在ListPreference中。


首先,我正在考虑做类似的事情;

String[] mEntries = getResources().getStringArray(R.array.refresh_interval_entries);


但是我认为这行不通,因为我无法获得mEntries[index]的正确索引,因为我无法使用refresh_interval_values中的值。

我没有试图在扩展PreferenceActivity的活动中显示此内容,而只是在普通的活动中显示。
任何想法如何做到这一点?

最佳答案

在启动应用程序时,您从两个HashMap中创建一个arrays

HashMap<String, String> dictionary = new HashMap<String, String>();
String[] mEntries = getResources().getStringArray(R.array.refresh_interval_entries);
String[] mValues = getResources().getStringArray(R.array.refresh_interval_values);

for (int i = 0; i < mEntries.length; i++) {
    dictionary.put(mValues[i], mEntries[i]);
}


并像这样使用它:

String entry = dictionary.get("60");

关于android - 如何从values\arrays.xml文件中获取“易于阅读的”部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15072812/

10-11 15:00