Android 如何获得;“可读性”;来自values\arrays.xml文件的部件
我只是不知道如何做到以下几点 我想显示“人类可读表单”(Android 如何获得;“可读性”;来自values\arrays.xml文件的部件,android,Android,我只是不知道如何做到以下几点 我想显示“人类可读表单”(refresh\u interval\u entries),例如在Log.d()中,对应于在refresh\u interval\u values中选择的内容 我在values\arrays.xml中定义了两个数组: <string-array name="refresh_interval_entries" translatable="false"> <item>1 minute</item>
refresh\u interval\u entries
),例如在Log.d()
中,对应于在refresh\u interval\u 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>
获取正确的索引,因为我无法使用mEntries[index]
中的值 我不是在一个扩展了refresh\u interval\u values
首选项活动的活动中显示这一点,只是在一个正常活动中。
有什么办法吗?这样做:{ ... String[] mEntries = getResources().getStringArray(R.array.refresh_interval_entries); String[] mValues = getResources().getStringArray(R.array.refresh_interval_values); Log.d(TAG, "120=" + getEntryFromValue("120", mEntries, mValues)); } private String getEntryFromValue(String value, String[] mEntries, String[] mValues) { for (int i=0; i < mValues.length; i++) { if (value.equals(mValues[i])) { // check mEntries length return mEntries[i]; } } return "NOT FOUND"; }
在应用程序启动时,您可以从两个{ ... String[]mEntries=getResources().getStringArray(R.array.refresh\u interval\u条目); String[]mValues=getResources().getStringArray(R.array.refresh\u interval\u values); Log.d(标记“120=”+getEntryFromValue(“120”,mEntries,mValues)); } 私有字符串getEntryFromValue(字符串值、字符串[]元素、字符串[]mValues){ for(int i=0;i
数组中创建一个
:HashMap
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]); }
尽管我将使用Christiaan的HashMap:-)很好的一个,我将使用这个,看起来很整洁!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");