Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Miki48RU
0 / 0 / 0
Регистрация: 08.03.2016
Сообщений: 15
#1

Заполнение spinner из массива - Программирование Android

08.03.2016, 22:24. Просмотров 1565. Ответов 23

Добрый день! Впервые на этом форуме, да и вообще новичок в разработке, поэтому не ругайте сильно, если уже были ответы, просто посоветуйте где посмотреть.

Вопрос такой, есть активность с 5 spinnerами в каждом из которых заносится до 100 значений цифрами. Конечно можно вручную в string сделать массив строк, но значений много и логичнее сделать их путем заполнения массивов в цикле, да и лучше в отдельном классе. Вот пожалуй и главный вопрос как?
Я сделал такой класс https://gist.github.com/anonymous/1f9edf65483b4fc6cbee, а дальше не могу понять как связать ArrayList с элементом spinner в активности. Что нужно использовать, адаптер или что то еще?
Всем спасибо за помощь и учтите, что все когда то начинали с самого 0, ну кроме тех кто учился на это в универе)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2016, 22:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заполнение spinner из массива (Программирование Android):

Заполнение связанных Spinner массивами из строк - Программирование Android
Всем привет. Первый спиннер заполняется элементами массива строк (массив прописан в ресурсах), по позиции элемента через switch case of...

Spinner - Программирование Android
Доброго времени суток! Можно ли сделать так чтобы при выборе одного из вариантов спиннера открывался новый активити

Spinner - Программирование Android
подскажите пожалуйста есть такой код... spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { ...

spinner - Программирование Android
как реализовать spinner чтобы к выбранной строке соответствовала число. например есть формула A+B+C=Z. A,B - это EditText (с этим все...

Spinner - Программирование Android
В ответе выдает 0, что исправить? import android.os.Bundle; import android.app.Activity; import android.view.View; import...

Spinner - Программирование Android
кто знает как сделать так чтобы при выборе пункта из Spinner выполнялся отдельный кусок кода? в моем случае есть код для генерации...

23
DemD10
58 / 47 / 12
Регистрация: 03.09.2013
Сообщений: 443
08.03.2016, 23:32 #2
Ну так почитайте про спинеры, в гугле полно инфы и при чем на русском, посмотрите как подключаются данные, как пишутся кастомные адаптеры если нужно.
0
Miki48RU
0 / 0 / 0
Регистрация: 08.03.2016
Сообщений: 15
09.03.2016, 17:31  [ТС] #3
На интересующий вопрос не нашёл ответа, а про адаптеры я же и спросил, потому как не понял как связать с методами из моего класса.

Добавлено через 17 часов 13 минут
сурово
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
09.03.2016, 17:49 #4
Miki48RU, не разобрались ещё? Я уже всё забыл, но через adapter можно. Создаёте коллекцию и передаёте в adapter.
0
Pablito
2549 / 2031 / 633
Регистрация: 12.05.2014
Сообщений: 7,150
Завершенные тесты: 1
09.03.2016, 17:53 #5
Java
1
2
3
4
5
6
7
8
9
        ArrayList<String> list = new ArrayList<>();
        for (int i = 0; i < 100; i++) {
            list.add(String.valueOf(i));
        }
 
        final Spinner spinner = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, list);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
0
Miki48RU
0 / 0 / 0
Регистрация: 08.03.2016
Сообщений: 15
09.03.2016, 20:17  [ТС] #6
Такой вариант я бы не хотел использовать, есть мысль и желание заолнять спиннеры в отдельном классе, так сказать не загружать активность методами. Можно ли в адаптер вставить геттер с массивом?
0
Pablito
2549 / 2031 / 633
Регистрация: 12.05.2014
Сообщений: 7,150
Завершенные тесты: 1
09.03.2016, 20:24 #7
Цитата Сообщение от Miki48RU Посмотреть сообщение
Такой вариант я бы не хотел использовать,
это был пример, если не понятно

Цитата Сообщение от Miki48RU Посмотреть сообщение
Можно ли в адаптер вставить геттер с массивом?
попробовать что-то мешает?
0
Miki48RU
0 / 0 / 0
Регистрация: 08.03.2016
Сообщений: 15
09.03.2016, 20:28  [ТС] #8
Логично, попробую. отпишусь.
0
DemD10
58 / 47 / 12
Регистрация: 03.09.2013
Сообщений: 443
09.03.2016, 20:44 #9
Почитайте про кастомные адаптеры к ListView. Сразу станет всё понятней, свой адаптер и модель данных для наполнения, самый очевидный пример.
0
Miki48RU
0 / 0 / 0
Регистрация: 08.03.2016
Сообщений: 15
09.03.2016, 22:03  [ТС] #10
Геттеры в адаптере не дает использовать.

Добавлено через 36 минут
сделал свой адаптер
Java
1
2
3
4
5
6
7
8
private void fillSpinners(){
        for (int i = 1; i < spinners.length; i++) {
            Spinner spinner = (Spinner)findViewById(spinners[i]);
            ArrayAdapter<Integer> adapter = ArrayAdapter.createFromResource(this, spinnersData.get(i), android.R.layout.simple_spinner_item);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(adapter);
        }
    }
но на spinnersData.get(i) указывает, что ошибка аргумента, при этом все равно требует заполнить int в скобках. В чем опять проблема?
0
Pablito
2549 / 2031 / 633
Регистрация: 12.05.2014
Сообщений: 7,150
Завершенные тесты: 1
10.03.2016, 12:05 #11
неужели так сложно внимательно посмотреьт мой код и сделать пару выводов?
во-первых в адаптер нельзя всунуть List интегеров, как минимум надо при заполнении листа инты переводить в строки
во-вторых в моем примере адаптер создается вообще не так

Цитата Сообщение от Miki48RU Посмотреть сообщение
В чем опять проблема?
проблема в том, что ты пришел на форум со своим мнением и не читаешь что тебе пишут
1
Miki48RU
0 / 0 / 0
Регистрация: 08.03.2016
Сообщений: 15
10.03.2016, 12:47  [ТС] #12
Паблито, в Ваших нравоучениях не нуждаюсь. Если Вы посмотрите, то это совсем не Ваш код, это мой адаптер, а наличие листа интегров , или срингов, не влияет на наличие ошибки указанной мной.
0
Pablito
2549 / 2031 / 633
Регистрация: 12.05.2014
Сообщений: 7,150
Завершенные тесты: 1
10.03.2016, 12:58 #13
а я и не говорил что это мой код
мой код выше - рабочий, если на него пристально посмотреть то можно заметить что адаптер создается не так и про строки я уже тоже говорил

твое сообщение выше еше раз подтверждает мои слова
Цитата Сообщение от Паблито Посмотреть сообщение
ты пришел на форум со своим мнением и не читаешь что тебе пишут
Добавлено через 8 минут

Не по теме:

странно, что в теме еще не засветился защитник угнетенных и бог культурного общения )

0
Miki48RU
0 / 0 / 0
Регистрация: 08.03.2016
Сообщений: 15
10.03.2016, 16:16  [ТС] #14
Цитата Сообщение от Паблито Посмотреть сообщение
мой код выше - рабочий, если на него пристально посмотреть то можно заметить что адаптер создается не так и про строки я уже тоже говорил
Ваш код мне не интересен, равно как и адаптер, реализация в моем случае другая, более логичная.
0
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
10.03.2016, 16:28 #15
Цитата Сообщение от Miki48RU Посмотреть сообщение
сделал свой адаптер
Ничего вы не создали, вы просто откуда-то скопипастили пару строк. Если вы хотите создать кастомный адаптер, то создайте отдельный класс который будет наследоваться от класса BaseAdapter. Если честно, судя по вашим комментариям вы не в адеквате, вам отправили готовый пример, а вы начинаете ерничать и делать вид мол вы все сами можете. Тебе показали как это сделать, а создавать классы и тому подобным вещам тебя тут учить не будут.

Добавлено через 5 минут
Цитата Сообщение от Паблито Посмотреть сообщение
во-первых в адаптер нельзя всунуть List интегеров, как минимум надо при заполнении листа инты переводить в строки
С чего вы решили что нельзя? Можно.
CSS
1
2
3
However the TextView is referenced, it will be filled with the toString() of each object in the array. 
You can add lists or arrays of custom objects. Override the toString() method of your objects to determine 
what text will be displayed for the item in the list.
Я думаю это стоит прочитать всем - http://developer.android.com/intl/ru...ayAdapter.html
0
10.03.2016, 16:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2016, 16:28
Привет! Вот еще темы с ответами:

Список из Spinner - Программирование Android
Здравствуйте. Умею работать с Spinner, умею просто с ListView, но умею это делать по отдельность. Пробовал найти что то похожее, нашел...

Java spinner - Программирование Android
Спиннер(выпадающий список) у меня отображает массив из раздела strings.xml. Вопрос: как сделать так, чтобы при выборе элемента спиннера...

Кастомизация Spinner - Программирование Android
Пытаюсь изменить внешний вид spinner Сделал для него стиль вида &lt;style name=&quot;spinner&quot;&gt; &lt;item...

Spinner элементы - Программирование Android
Доброго времени суток) Есть Spinner список , нужно из этого списка выбрать элемент(текст) ,чтобы потом нажать на кнопку и в другом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.