2012-04-25 2 views
0

Я пытаюсь подражать программной клавиатуре с помощью Activity with Theme.Dialog. Активность клавиатуры охватывает только часть экрана. Основная деятельность по-прежнему активна и может контролироваться напрямую. Я бы хотел, чтобы введенный текст отображался в основной Деятельности по мере ее ввода.Обновить просмотры в другом месте

Есть ли способ, которым я могу это сделать? Я думал о том, чтобы бросить ссылку на EditText в Intent Bundle, но это не кажется правильным.

Редактировать: кто-то ответил, чтобы сделать EditText статическим, но затем удалил ответ. Могли бы они добавить его обратно, если это окажется правильным ответом?

ответ

0

Я отвечаю на свой вопрос, потому что человек, который поставил оригинал ответ удалил его и не перепродал.

Лучшее решение, которое я нашел до сих пор, чтобы создать статическое поле в деятельности клавиатуры программного обеспечения, которое ссылается на манипулирование EditText. Затем вызывающая активность обновляет это статическое поле до запуска намерения.

Это работает без проблем, и у меня не было никаких проблем с тем, что вызывающая активность попала в стек.

2

Это не будет работать .. ваша активность будет в состоянии приостановленной .. вы пытаетесь вызвать что-то там он уверен, будет сгенерировано исключение .. не попробовать .. попробовать onActivityResult() вместо ...

: Под редакцией

ну а потом попробовать это ..

получить экземпляр Activity (я имею в виду деятельность, которая имеет редактирования текста) затем

if(!yourActviity.isFinishing()) 
{ 

((EditText)yourActviity.findViewById(R.id.editText)).setText("text"); 
} 
+0

Не находится в состоянии паузы. Я могу напрямую взаимодействовать с основной деятельностью. –

+0

@AndrewP. .. взаимодействия с UI ..? – ngesh

+0

@sandy, да. Я могу щелкнуть кнопку в базовом действии, которое делает собственный вызов и правильно обновляет пользовательский интерфейс с результатами. –

1

Если вы используете пользовательский диалог, вы можете использовать переменные в основном действии, используя свой контекст mainactivity. Для этого вам нужно использовать контекст в mainactivity type

+0

Я не использую настраиваемый диалог, а настраиваемый Activity с тематикой Theme.Dialog. –

+0

введите код пользовательской деятельности. –

Смежные вопросы