Получить определенную строку из stringarray в Android Studio - PullRequest
0 голосов
/ 15 октября 2019

У меня есть массив строк (в strings.xml), в котором я собираю все свои игры

<string-array name="games">
    <item name="select" translatable="false">...</item>
    <item name="game_fortnite" translatable="false">Fortnite</item>
    <item name="game_csgo" translatable="false">CounterStrike: Global Offensive</item>
    <item name="game_minecraft_minigames" translatable="false">Minecraft Minigames</item>
</string-array>

Я сейчас пытаюсь получить определенный предмет (в данном случае первый, ноДругие понадобятся позже) из этого массива. Так как я могу дать названия предметов, без Android Studio, подчеркнув это для меня, я подумал, что, может быть, я могу ссылаться на строки по именам, что никак не работает, я пробовал это.

В этом случае япытаясь выяснить, имеет ли моя строковая переменная "game" то же значение, что и у элемента массива, который я назвал "select". Я попробовал все следующее:

if(game.equals(R.array.games.select)){
}

if(game.equals(R.string.games.select)){
}

if(game.equals(R.array.games[0])){
}

if(game.equals(R.array.select)){
}

Я пытался, как вы можете видеть, использовать индекс (не работал), но я хотел бы иметь возможность ссылаться на них по их именисвойство.

Ответы [ 2 ]

2 голосов
/ 15 октября 2019

Это достигнет вашей строки XML, и затем вы можете использовать строку Java,

String gamesArr[] = getResources().getStringArray(R.array.games);

После этого создайте представление списка и заполните элементы представления списка этим массивом.

И приведенный ниже код предоставит вам выбранный элемент в списке.

myList.getSelectedItem();

0 голосов
/ 15 октября 2019

Согласно документации Android, тег элемента для массива строк не имеет доступных атрибутов.

screenshot attached

https://developer.android.com/guide/topics/resources/string-resource#StringArray

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...