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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 498
#1

Передать String-путь в EditText AlertDialog'a ? - Android

19.02.2015, 12:27. Просмотров 1206. Ответов 28
Метки нет (Все метки)

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

Java
1
String FilePath = intent.getData().getPath();
в Log.d путь пишет,
в этом же диалоге есть поле EditText, в него этот путь надо поместить:

делаю как-то так:

Java
1
edittext.setText(FilePath);
но такой вариант почему-то не проходит(ошибка), (не знаю где конкретно это должно быть), и постоянно ругается на эту строчку, а как все-таки надо подскажите ПОЖАЛУЙСТА?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2015, 12:27     Передать String-путь в EditText AlertDialog'a ?
Посмотрите здесь:

Android AlertDialog Error
Android Не показывается AlertDialog
Потоки и AlertDialog Android
Android Как передать данные в EditText
Custom AlertDialog Android
AlertDialog Android
Android Сравнение EditText и String
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 498
20.02.2015, 11:44  [ТС]     Передать String-путь в EditText AlertDialog'a ? #21
Armagedo,
Почему при создании диалога этот диалог там же и убивается
ошибка в коде походу,.... в генетическом...


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

может это "The application Crib(process com.cribactivity) has stopped unexpectedly. Please try again."
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
20.02.2015, 11:53     Передать String-путь в EditText AlertDialog'a ? #22
Цитата Сообщение от disx Посмотреть сообщение
Простите, я походу не врубаюсь, но где ее узреть?
В логах перед тем, где указано ГДЕ возникла ошибка
at com.cribactivity.DB_Activity.onCreateDialog(DB_Activity.java:501)
at com.cribactivity.DB_Activity.onclickB(DB_Activity.java:436)
должно быть ее описание
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 498
20.02.2015, 13:01  [ТС]     Передать String-путь в EditText AlertDialog'a ? #23
Armagedo,
Почему при создании диалога этот диалог там же и убивается?
ошибка в коде наверное...., в генетическом....

Хотелось бы увидеть, что это за ошибка
ну вот такое: "The application Crib (process com.cribactivity) has stopped unexpectedly. Please try again."

Добавлено через 44 минуты
Armagedo,
Java
1
2
3
4
threadid=1: thread exiting with uncaught exception (group=0x40015560)
FATAL EXCEPTION: main
java.lang.NullPointerException
at com.cribactivity.DB_Activity.onCreateDialog(DB_Activity.java:427)
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
20.02.2015, 13:08     Передать String-путь в EditText AlertDialog'a ? #24
Цитата Сообщение от disx Посмотреть сообщение
java.lang.NullPointerException
at com.cribactivity.DB_Activity.onCreateDialog(DB_Activity.java:427)
какой код в строке 427?

P.S. Мой энтузиазм гаснет на глазах
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 498
20.02.2015, 13:23  [ТС]     Передать String-путь в EditText AlertDialog'a ? #25
Armagedo,
какой код в строке 427?
Java
1
textPath.setText(FilePath);
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
20.02.2015, 13:34     Передать String-путь в EditText AlertDialog'a ? #26
Ну, так посмотри textPath вообще "существует" или нет?

Замени
Java
1
textPath.setText(FilePath);
на

Java
1
2
3
4
if (textPath!=null)
            textPath.setText(FilePath);
else
    Toast.makeText(getBaseContext(), "EditText textPath is null", Toast.LENGTH_LONG).show();
Что выдаст?
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 498
20.02.2015, 14:54  [ТС]     Передать String-путь в EditText AlertDialog'a ? #27
Armagedo,

Что выдаст?
как только запускается сам диалог, сразу выдает тост:
EditText textPath is null
оно вроде как и логично потому как, FilePath еще пустой, мы же не вызвали еще onkl2 (кнопка select в диалоге)чтобы получить путь...

Добавлено через 7 минут
если вставляю в onActivityResult, тоже тост, когда нажимаешь уже на кнопку select.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
20.02.2015, 15:13     Передать String-путь в EditText AlertDialog'a ? #28
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ну, вот тебе и ответ - EditText c идентификатором R.id.editTextPath в XML файле db_activity.xml не найден...

Почему в файле db_activity.xml, а не dial2.xml?

НУ, потому, что ты вызываешь метод findViewById для активити, а он ищет в лэйауте указанном в setContentView(int) события onCreate() активити.

Ставлю 99 против 1, что и все остальные переменные, полученные тем же способом
Java
1
2
3
4
5
6
make=(Button)findViewById(R.id.buttonD1);
select=(Button)findViewById(R.id.buttonD2);
write=(Button)findViewById(R.id.buttonD3);
View root = inflater.inflate(R.layout.dial2, null);
TextView text=(TextView)findViewById(R.id.textDF);
textPath = (EditText) findViewById(R.id.editTextPath);
тоже пустышки.

Можешь проверить, вставив после такого поиска

Java
1
2
3
4
5
6
7
Toast.makeText(getBaseContext(), 
"Button 'make'  is null: " + String.valueOf((make==null))+"\n"+
"Button 'select'  is null: " + String.valueOf((select==null))+"\n"+               
"Button 'write'  is null: " + String.valueOf((write==null))+"\n"+  
"TextView 'text'  is null: " + String.valueOf((text==null))+"\n"+                            
"EditText 'textPath' is null:  "+String.valueOf((textPath==null)), 
Toast.LENGTH_LONG).show();
и получишь все утверждения true.

Как исправить, думаю, теперь понятно

И переменная FilePath - вообще ни при делах.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2015, 16:19     Передать String-путь в EditText AlertDialog'a ?
Еще ссылки по теме:

Считать с editText русские символы (киррилицу) в string Android
Android Передать номер из EditText в условие
Android Передать String в AsyncTask, получить callback
Android Spinner в AlertDialog
Android AlertDialog и RadioGroup

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

Или воспользуйтесь поиском по форуму:
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 498
20.02.2015, 16:19  [ТС]     Передать String-путь в EditText AlertDialog'a ? #29
Armagedo, АрЁл..., сразу видно 5 лет института,... а я Алень слепой нифига про этот root не подумал...

РЕСПЕКТИЩЕ тебе!, сделал так и все как по маслу заработало:

Java
1
2
3
4
5
6
7
8
9
LayoutInflater inflater = LayoutInflater.from(this);
                View root = inflater.inflate(R.layout.dial2, null);
                make=(Button)root.findViewById(R.id.buttonD1);
                select=(Button)root.findViewById(R.id.buttonD2);
                write=(Button)root.findViewById(R.id.buttonD3);
                
                TextView text=(TextView)root.findViewById(R.id.textDF);
                textPath = (EditText) root.findViewById(R.id.editTextPath);
                textPath.setText(FilePath);
P/S/ пора создавать новую тему
Yandex
Объявления
20.02.2015, 16:19     Передать String-путь в EditText AlertDialog'a ?
Ответ Создать тему
Опции темы

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