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

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

Войти
Регистрация
Восстановить пароль
 
b0nny
4 / 2 / 0
Регистрация: 11.11.2013
Сообщений: 347
#1

Spinner в AlertDialog - Программирование Android

06.08.2016, 18:45. Просмотров 301. Ответов 10
Метки нет (Все метки)

Как Spinner в AlertDialog сделать?
AlertDialog вызываю через нажатие fab.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Заголовок");
builder.setView(R.layout.dialog_layout);
builder.setPositiveButton("ОК", myClickListener);
builder.setNegativeButton("Отмена", null);
builder.show();
 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, new String[] {"0","1","2"});
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 
// Выпадающий список
Spinner spinnerQ = (Spinner) findViewById(R.id.spinnerQuality);
spinnerQ.setAdapter(adapter);
spinnerQ.setSelection(0); // Выделяем элемент по-умолчанию
ОШИБКА на строке spinnerQ.setAdapter(adapter);
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' on a null object reference
at ru.bonny.savevideo.MainActivity$override.showAlertDialog(MainActivity.java:96)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2016, 18:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Spinner в AlertDialog (Программирование Android):

AlertDialog - Программирование Android
ЗДравствуйте! Имеется простая игра. Когда ХП игрока == 0, я останавливаю игру и хочу показать AlerDialog. Рисуется все на канвас. Вот...

Не показывается AlertDialog - Программирование Android
Хочу при запуске проверить есть ли на устройстве Сервисы Google Play public class MainActivity extends FragmentActivity { ...

Потоки и AlertDialog - Программирование Android
Помогите, пожалуйста, бьюсь уже несколько дней. Создаю файловый менеджер. Это моя первая программа под Android, поэтому не всегда догоняю. ...

Не работает AlertDialog - Программирование Android
Почему в данном случае не работает AlertDialog? public class MainActivity : Activity { int count = 1; ...

AlertDialog и RadioGroup - Программирование Android
Всем привет. Создаю программу, в которой в открывшемся диалоговом окне происходит настройка сортировки списка. И там есть radiogroup,...

Custom AlertDialog - Программирование Android
Помогите люди добрые, что то никак не нагуглю... А желательно кодом;)

10
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
06.08.2016, 18:55 #2
А разве в android.R.layout.simple_spinner_item ID спиннера не R.id.spinner?
R.id.spinnerQuality откуда возьмется в разметке?

Добавлено через 14 секунд
А разве в android.R.layout.simple_spinner_item ID спиннера не R.id.spinner?
R.id.spinnerQuality откуда возьмется в разметке?
0
b0nny
4 / 2 / 0
Регистрация: 11.11.2013
Сообщений: 347
06.08.2016, 19:00  [ТС] #3
OlegJV, да spinnerQuality в разметке dialog_layout
0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
06.08.2016, 19:05 #4
А где этот dialog_layout? Если он есть, то его и надо скармливать адаптеру вместо стандартного android.R.layout.simple_spinner_item.
0
b0nny
4 / 2 / 0
Регистрация: 11.11.2013
Сообщений: 347
06.08.2016, 19:09  [ТС] #5
Да в папке layout
Так туда скармливать ему нельзя. Он подчёркивает.
android.R.layout.dialog_layout
0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
06.08.2016, 19:12 #6
R.layout.dialog_layout без всяких android надо
0
b0nny
4 / 2 / 0
Регистрация: 11.11.2013
Сообщений: 347
06.08.2016, 19:14  [ТС] #7
OlegJV, ошибка в том же месте. В инете написано, что это стандартное представление. Так его менять же не надо. Для него отдельно создавать нужно layout.
А мой dialog_layout служит layoutом содержимого в алерт диалог.
0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
06.08.2016, 19:28 #8
Ну тогда, видимо, надо adapter.setDropDownViewResource(R.layout.dialog_layout);
0
b0nny
4 / 2 / 0
Регистрация: 11.11.2013
Сообщений: 347
06.08.2016, 19:35  [ТС] #9
OlegJV, ну она тоже же относится к стандартному виду. Только я не понял чего именно.
Ну вообще попробовал. Но всё равно ошибка.
0
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
06.08.2016, 19:55 #10
Похоже мы друг друга не понимаем. Ты используешь в адаптере стандартные разметки android, и в то же время пытаешься подсунуть ему спиннер из своей разметки, про которую адаптер ничего не знает. Естественно, от в замешательстве.
0
b0nny
4 / 2 / 0
Регистрация: 11.11.2013
Сообщений: 347
06.08.2016, 20:25  [ТС] #11
OlegJV, так своя разметка же для alertDialog.

XML
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:paddingBottom="0dp"
    android:paddingLeft="24dp"
    android:paddingTop="24dp"
    android:paddingRight="24dp">
 
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
 
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
 
            <android.support.design.widget.TextInputLayout
                android:id="@+id/linkLayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1">
 
                <EditText
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:inputType="numberDecimal"
                    android:hint="Ссылка на страницу"
                    android:ems="10"
                    android:id="@+id/link"
                    android:layout_weight="1" />
 
            </android.support.design.widget.TextInputLayout>
 
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Вперёд"
                android:id="@+id/go_link"
                android:layout_gravity="center_horizontal" />
        </LinearLayout>
 
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/downloadLinearLayout">
 
            <Spinner
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/spinnerQuality" />
 
        </LinearLayout>
 
    </LinearLayout>
 
</RelativeLayout>
Добавлено через 24 минуты
Сделал.
Статья отсюда помогла.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2016, 20:25
Привет! Вот еще темы с ответами:

AlertDialog Error - Программирование Android
Всем доброго времени суток! Изучал изготовление своего AlertDialog по учебнику и на одном из сайтов, но увы столкнулся с проблемой, после...

Закрытие AlertDialog - Программирование Android
Здравствуйте. Такой вопрос. Допустим я вызвал диалог и после этого перевел приложение в паузу, то после очередного обращения к данному...

TextView а AlertDialog - Программирование Android
Здравствуйте! Вот столкнулся с такой проблемой, не могу Textview вывести в AlertDialog. Помогите пожалуйста!

AlertDialog появляется дважды - Программирование Android
При вызове приложения появляется AlertDialog. Когда закрываю его он появляется еще раз. Во второй раз он закрывается. В чем ошибка? ...


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
06.08.2016, 20:25
Ответ Создать тему
Опции темы

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