Как получить массив строк Android, если у меня есть имя массива в другой строке

У меня проблема, техническая. У меня есть представление списка, когда я нажимаю элемент, я получаю контент в этой конкретной позиции и отправляю его в следующее действие через «putExtra».

В следующем действии то, что я делаю, это

        String item;
        Bundle extras = getIntent().getExtras(); 
        if (extras != null) {
            item = extras.getString("item");
        }

Теперь скажем здесь item = "Java";

Теперь мне нужно termsArray = getResources().getStringArray(R.array.Java);

Но мне не нужен R.array.Java, я хочу что-то вроде R.array.item

Массивы строк в XML

<string-array name="Java">
<item>A</item>
<item>B</item>
<item>C</item>
</string-array>

<string-array name="C">
<item>A</item>
<item>B</item>
<item>C</item>
</string-array>

<string-array name="php">
<item>A</item>
<item>B</item>
<item>C</item>
</string-array>

Я могу выполнить эту задачу, используя IF-else, но у меня много строковых массивов, поэтому использовать IF-else невозможно.


person Romio    schedule 27.07.2012    source источник
comment
может быть это полезно stackoverflow.com/a/3044081/603744   -  person Andro Selva    schedule 27.07.2012


Ответы (1)


попробуйте как:

 String item;
        Bundle extras = getIntent().getExtras(); 
        if (extras != null) {
            item = extras.getString("item");
            int arryid = this.getResources().getIdentifier(item, "array",
                this.getPackageName()); 
            termsArray  = this.getResources().getStringArray(arryid);
        }
person ρяσѕρєя K    schedule 27.07.2012