Как заполнить Spinner значением int

При обычном заполнении Spinner, как я делал в прошлом, я обычно использую SpinnerAdapter, а затем обычно имею элементы в ресурсах для его заполнения.

В настоящее время у меня есть другой запрос, у меня есть в моем коде пользовательский ввод для int, и я хочу, чтобы мой счетчик заполнялся числами до выбранного пользователем числа. Поэтому, если пользователь вводит число «5», оно сохраняется в переменной int. Затем я хочу, чтобы Spinner показывал 1,2,3,4,5 в качестве вариантов.

Я действительно не уверен, как бы я подошел к этому.

Спасибо, Оли


person Oli Black    schedule 09.01.2013    source источник
comment
stackoverflow.com/ вопросов/5999262/ Используйте адаптер..   -  person Tim Malseed    schedule 09.01.2013


Ответы (1)


Отредактировано

Ниже приведен базовый пример того, как вы можете добавить целые числа в свой счетчик:

mspin=(Spinner) findViewById(R.id.spinner1);
Integer[] items = new Integer[]{1,2,3,4};
ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(this,android.R.layout.simple_spinner_item, items);
mspin.setAdapter(adapter);

Вы можете обратиться к этому и внести изменения в свой проект в соответствии с вашей логикой. Также в вашем случае вы должны использовать ArrayList целых чисел, поскольку число выбора пользователя кажется динамическим. вы можете создать список массивов и заменить его массивом Integer в приведенном выше коде.

Надеюсь это поможет!!

person Abhishek Sabbarwal    schedule 09.01.2013
comment
Если вы не знаете максимальное число во время компиляции, вы можете создать массив items во время выполнения (например, Integer[] items = new Integer[size]; и цикл for для заполнения массива). В этом случае может быть проще использовать List и ListAdapter. - person Code-Apprentice; 09.01.2013
comment
Я просто привел пример, а потом понял, что ввод динамический. Только что отредактировал мой ответ. В его случае достаточно ArrayList целых чисел. - person Abhishek Sabbarwal; 09.01.2013
comment
Ваш ответ имеет правильную общую идею. Я просто хотел расширить его и не хотел публиковать собственный ответ. ;-) - person Code-Apprentice; 09.01.2013
comment
Я полностью с вами согласен :) Я поторопился с ответом. Но сразу понял, что его надо редактировать. - person Abhishek Sabbarwal; 09.01.2013
comment
Вы должны добавить в конце mspin.setAdapter(adapter); - person Chris Sim; 25.07.2013