Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 582
Записей в блоге: 1
1

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

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

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

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

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

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

Сравнение EditText и String
Сравнение строк в jave можно осуществить таким образом: String str1 = "abc";...

Передать номер из EditText в условие
Всем привет! Есть приложение в котором в EditText вводим номер и осуществляем...

Как передать данные в EditText
Есть активность из которой необходимо передать данные в активити планировщика...

Передать текст из EditText на Activity другого приложения
В книге приводится пример простого мессенджера. Есть кнопка "Send Message" и...

Считать с editText русские символы (киррилицу) в string
Вопрос очень прост. Как считать с editText русские символы(киррилицу) в string?

28
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 582
Записей в блоге: 1
20.02.2015, 11:44  [ТС] 21
Armagedo,
Почему при создании диалога этот диалог там же и убивается
ошибка в коде походу,.... в генетическом...


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

может это "The application Crib(process com.cribactivity) has stopped unexpectedly. Please try again."
0
Armagedo
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
20.02.2015, 11:53 22
Цитата Сообщение от disx Посмотреть сообщение
Простите, я походу не врубаюсь, но где ее узреть?
В логах перед тем, где указано ГДЕ возникла ошибка
at com.cribactivity.DB_Activity.onCreateDialog(DB_Activity.java:501)
at com.cribactivity.DB_Activity.onclickB(DB_Activity.java:436)
должно быть ее описание
0
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 582
Записей в блоге: 1
20.02.2015, 13:01  [ТС] 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)
0
Armagedo
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
20.02.2015, 13:08 24
Цитата Сообщение от disx Посмотреть сообщение
java.lang.NullPointerException
at com.cribactivity.DB_Activity.onCreateDialog(DB_Activity.java:427)
какой код в строке 427?

P.S. Мой энтузиазм гаснет на глазах
0
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 582
Записей в блоге: 1
20.02.2015, 13:23  [ТС] 25
Armagedo,
какой код в строке 427?
Java
1
textPath.setText(FilePath);
0
Armagedo
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
20.02.2015, 13:34 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();
Что выдаст?
0
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 582
Записей в блоге: 1
20.02.2015, 14:54  [ТС] 27
Armagedo,

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

Добавлено через 7 минут
если вставляю в onActivityResult, тоже тост, когда нажимаешь уже на кнопку select.
0
Armagedo
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
20.02.2015, 15:13 28
Лучший ответ Сообщение было отмечено disx как решение

Решение

Ну, вот тебе и ответ - 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 - вообще ни при делах.
1
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 582
Записей в блоге: 1
20.02.2015, 16:19  [ТС] 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/ пора создавать новую тему
0
20.02.2015, 16:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2015, 16:19

Ввод в один EditText и авто-вычисление в двух других EditText
Всем привет. Есть три поля EditText,виртуальные клавиатуры у всех...

EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText
EditText сещается вниз при вводе текста который занимает обём больше чем...

Динамическое создание edittext и обработка данных из edittext
Здравствуйте, мне нужна помощь, у меня есть таблица, где динамически создаются...


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

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

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