Как получить индекс строки-массива - PullRequest
0 голосов
/ 14 октября 2019

В strings.xml У меня есть string-array, который заполняет spinner. У меня есть приложение для заметок, где пользователь может выбрать предмет из прядильщика и показать в виде переработчика. Таким образом, после того, как пользователь добавил заметку, и если пользователь щелкает заметку, она должна перенаправиться на этот счетчик и автоматически выбрать объект, который был выбран ранее.

Я попытался установить положение как sub_spinner.setSelection(subPosition), но не могу понятьузнать, как получить subPosition

String.xml

<string-array name="subject">
    <item>Communication English</item>
    <item>Computer Graphics</item>
    <item>COA</item>
    <item>Data Communication</item>
    <item>Instrumentation II</item>
    <item>Software Engineerinng</item>
</string-array>

Так что, если у меня есть sub в качестве COA, тогда я должен получить индекс 2.

1 Ответ

1 голос
/ 14 октября 2019

Так как у вас есть тема string-array в XML. Вы можете получить массив строк в своем Java-коде, используя

List<String> list= Arrays.asList(getResources().getStringArray(R.array.subject));

Затем, чтобы получить индекс выбранного предмета, вы можете реализовать OnItemSelectedListener для Spinner или ListView;все, что вы заполнили массив строк.

Реализация OnItemSelectedListener имеет обратный вызов, такой как onItemSelected с параметрами, вы хотите position, который обеспечивает позицию выбранного элемента. Тогда вы можете сделать:

setSelection(position)

внутри OnItemSelectedListener. Если вам нужны дальнейшие инструкции по реализации, вы можете опубликовать еще немного кода, и я предоставлю вам точный код для этого.

...