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");