Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
lord_commander
0 / 0 / 0
Регистрация: 20.05.2014
Сообщений: 139
1

Динамическое создание и заполнение Spinner-ов и получение выбранного в них элемента

12.02.2017, 20:05. Просмотров 555. Ответов 0

В базе имеется большой многоуровневый список. В приложении мне надо запрашивать список каждого уровень, в зависимости от выбранного родительского уровня.

В приложении я создал Spinner, в который загружается список первого уровня, и получаю id выбранного в Spinner "родителя".
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
    new AsyncRequest1().execute();//запрос, на получение списка и заполнение Spinner в нем
 
    mySpinner=(Spinner)findViewById(R.id.spinner);
    mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            iing=(InventItemNumberGroup)mySpinner.getSelectedItem();
            selectID=iing.getItemId();//получение id выбранного родителя для дальнейших загрузок "дочерних" элементов
        }
        @Override
        public void onNothingSelected(AdapterView<?> parent) {
            ...
        }
    });
}
 
class AsyncRequest1 extends AsyncTask {
    @Override
    protected String doInBackground(String... arg) {
        ...
    }
 
    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        try{
            ...
            myData=parser.list;//список для вывода в Spinner
            ArrayAdapter<InventItemNumberGroup> myAdapter = new ArrayAdapter<InventItemNumberGroup>(Second_activity.this, android.R.layout.simple_spinner_item, myData);
            mySpinner=(Spinner)findViewById(R.id.spinner);
            mySpinner.setAdapter(myAdapter);//заполнение Spinner'а
        }
        catch(Exception e){
            ...
        }
    }
}
Логика работы приложения такова: в первом Spinner выбирается значение, берется id этого элемента, происходит запрос к базе, по id выбирается требуемый "дочерний список", строится новый Spinner, который заполняется этим списком, и у которого тоже есть setOnItemSelectedListener, в котором отслеживается выбранное значение в данном Spinner, и затем процесс повторяется, пока не достигается "дочерний элемент" без "детей".

Я не понимаю, каким образом реализовать данный процесс, с динамическим созданием на форме Spinner-ов, отправкой и получением данных из базы и отслеживание выбранного в созданном Spinner значения, для повторения операции.

Мне кажется, что нужно использовать рекурсию или цикл, но не понимаю как это реализовать.
Вообще.
Подскажите, каким образом можно реализовать требуемую операцию?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2017, 20:05
Ответы с готовыми решениями:

Заполнение трехмерного массива от выбранного элемента
подскажите, есть ли способ заполнить трехмерный массив от выбранного элемента. суть задания:...

checkedListBox получение названия выбранного элемента
Помогите, пожалуйста. Задача: есть checkedListBox, в нем отмечены ряд строк, нужно написать цикл...

Получение значения выбранного элемента select
Доброго времени суток! Я только начинаю осваивать JS и у меня возникла следующая проблема. ...

Получение строки текущего выбранного элемента ComboBox
Вопрос в теме - в комбобоксе несколько элементов, при выборе одного из них я хочу получить текст...

Динамическое заполнение элемента Panel в WinForms
Всем доброго времени. Суть задачи такова : в папке лежит несколько картинок (их число может...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2017, 20:05

Динамическое создание и заполнение ViewPager
Как во всех читалках реализован перенос текста? Как мне динамически создать WebView и на него...

Динамическое создание и заполнение combobox
Добрый день. Подскажите, пожалуйста, как решить задачу. При нажатии на кнопку на форму...

Динамическое создание обьектов и обработка событий в них
вот такое дело перехожу на си шарн с языка дельфай, и вот интересует динамическое создание обьектов...


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

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

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