2015-02-23 3 views
0

Я просто занимаюсь разработкой приложений для Android. Я пытаюсь найти значение элемента в ресурсе массива из индекса, но ресурс возвращает целое число, а не массив. У меня есть этот кусок кода:Array ресурс, возвращающий целое число

и когда сообщение Тост показывает, что показывает «Selected 2131492864», и я не могу индекс целое.

Итак, мой вопрос в том, как преобразовать R.array.PopupMenuListItems в массив, а не целое число, поэтому я могу использовать R.array.PopupMenuListItems [which]?

ответ

3

Использование getStringArray для получения массива из ресурсов:

public void onClick(DialogInterface dialog, int which) { 
String[] arrAllData = getResources().getStringArray(R.array.PopupMenuListItems2); 
    Toast.makeText(getBaseContext(), 
       "Selected " + arrAllData[which], Toast.LENGTH_SHORT).show(); 
} 
+0

Спасибо, сделает как ответ в течение 10 минут. –

+0

@BraydonDavis: Еще одно предложение: мы также можем передать String Array на метод 'setItems', чтобы вместо того, чтобы снова и снова считывать Array из ресурсов, читайте его только один раз перед' pop1.setItems' и используйте в обоих местах –

1

доступа, как таким образом,

String[] mTestArray = = getResources().getStringArray(R.array.testArray); 
Смежные вопросы