2012-05-31 1 views
0

У меня есть активность с одним TextView (tv1) и кнопкой, которая при щелчке отображает диалоговое окно Dialog с другим TextView tv2. tv1 имеет фокус, когда начинается действие, а tv2 имеет фокус, когда отображается диалоговое окно DialogFragment.TextView focus при добавлении фрагментов

Проблема в том, что tv1, похоже, не теряет фокуса - его onFocusChangedListener никогда не называется. Есть ли другой сигнал, который я могу использовать, чтобы указать, что tv1 больше не имеет фокуса? (обратите внимание, что мониторинг tv2 здесь не является хорошим решением. У меня есть несколько других способов, с помощью которых диалоги могут фокусироваться).

ответ

0

Вы можете очень хорошо переопределить метод обратного вызова onWindowFocusChanged() своей деятельности, так как показ Диалога приводит к тому, что сама деятельность проигрывает его внимание. Указанный метод может быть сигналом о том, что TextView (tv1) потерял свое внимание.

+0

Спасибо, это, по сути, то, что я искал. TextView 'tv1' на самом деле находится в фрагменте, поэтому я предпочитаю управлять кодом оттуда. Но я могу использовать другой обратный вызов, чтобы позволить фрагментам получить доступ к обратному вызову. Еще раз спасибо! – bjdodson