Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
D7ILeucoH
11 / 10 / 2
Регистрация: 29.02.2016
Сообщений: 308
1

Получить информацию из диалога

01.04.2017, 09:30. Просмотров 802. Ответов 6
Метки нет (Все метки)

Всем привет! Есть в методе onCreate:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
new AlertDialog.Builder(this)
                    .setView(R.layout.dialog_signin)
                    .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            EditText et = (EditText)findViewById(R.id.username);
                            Toast.makeText(getApplicationContext(),et+"",Toast.LENGTH_SHORT).show();//null
                        }
                    })
                    .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                        }
                    })
                    .show();
R.layout.dialog_signin:
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="64dp"
        android:background="#FFFFBB33"
        android:textColor="#ffffff"
        android:text="ВХОД"
        android:gravity="center"
        />
    <EditText
        android:id="@+id/username"
        android:inputType="textEmailAddress"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:layout_marginLeft="4dp"
        android:layout_marginRight="4dp"
        android:layout_marginBottom="4dp"
        android:hint="Имя" />
    <EditText
        android:id="@+id/password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="4dp"
        android:layout_marginLeft="4dp"
        android:layout_marginRight="4dp"
        android:layout_marginBottom="16dp"
        android:fontFamily="sans-serif"
        android:hint="Фамилия"/>
</LinearLayout>
Как поняли, тост возвращает null. Мне нужно, чтобы возле тоста был проинициализирован EditText et, чтобы поднять тост с et.getText(); Но так как сейчас возвращает null, будет ошибка...
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2017, 09:30
Ответы с готовыми решениями:

Как получить название звука из диалога RingtoneManager.ACTION_RINGTONE_PICKER
Здравствуйте. Вопрос такой Вызываю Intent intent = new...

Получить имя файла из диалога выбора файла
Нашел класс диалога выбора файла: package com.stetsenko.openfiledialog; ...

Вызов диалога из диалога
Есть диалог, как сделать чтобы при выборе определенной позиции в это диалоге...

как получить информацию о входящих письмах
Здраствуйте. Такой вопрос, как получить информацию о входящих...

Как получить информацию о том, что нажата кнопка селфи-палки?
как получить информацию о том что нажата кнопка селфи палки?? (ключевые...

6
ExFau$t
638 / 538 / 122
Регистрация: 08.05.2012
Сообщений: 2,700
01.04.2017, 09:39 2
На вскидку:
Java
1
2
View view = context.getLayoutInflater().inflate(R.layout.dialog_signin, null);
        EditText et = (EditText) view.findViewById(R.id.edit);
1
D7ILeucoH
11 / 10 / 2
Регистрация: 29.02.2016
Сообщений: 308
01.04.2017, 09:47  [ТС] 3
Спасибо, теперь определяется, но всегда возвращает пустоту
0
ExFau$t
638 / 538 / 122
Регистрация: 08.05.2012
Сообщений: 2,700
01.04.2017, 10:26 4
Java
1
et.getText().toString()
1
D7ILeucoH
11 / 10 / 2
Регистрация: 29.02.2016
Сообщений: 308
01.04.2017, 10:37  [ТС] 5
Не, та же фигня. Не показывает текст. Это словно создаёт новый экземпляр разметки, и берёт оттуда. А мне нужно взять текст именно введённый пользователем...

Добавлено через 6 минут
Кажется, я всё понял. Ваш ответ
Цитата Сообщение от ExFau$t Посмотреть сообщение
View view = context.getLayoutInflater().inflate(R.layout.dialog_signin, null);
* * * * EditText et = (EditText) view.findViewById(R.id.edit);
верный, но у меня context подчёркивает красным, и я его убрал. Видимо, нужно определить context. Но как это сделать?
0
ExFau$t
638 / 538 / 122
Регистрация: 08.05.2012
Сообщений: 2,700
01.04.2017, 11:02 6
Лучший ответ Сообщение было отмечено D7ILeucoH как решение

Решение

Написать в onCreate, например:
Java
1
context = this;
Ну или просто вместо context - getApplicationContext()
1
D7ILeucoH
11 / 10 / 2
Регистрация: 29.02.2016
Сообщений: 308
01.04.2017, 12:10  [ТС] 7
Решил проблему:
Java
1
2
3
final View dialogView = inflater.inflate(R.layout.dialog_signin, null);
setView(dialogView);
EditText name = (EditText)dialogView.findViewById(R.id.username);
0
01.04.2017, 12:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2017, 12:10

Дисклеймер в виде диалога
Как лучше создать дисклеймер в виде диалогового окна: нажимаешь на кнопку...

Отслеживание закрытия диалога
Здравствуйте! Имеется вот такой класс: package com.contedevel.timetable; ...

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


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

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

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