Предупреждение об открытии нового Activity из ActivityGroup в TabActivity - PullRequest
1 голос
/ 15 марта 2011

У меня есть табуляция с несколькими вкладками.С каждой вкладкой связана группа ActivityGroup, которая использует LocalActivityManager для обработки локальных стеков активности.Кажется, что все это работает должным образом, хотя я еще не проводил обширных отладок.

Некоторые из моих действий должны открывать окна, в верхней части которых нет виджета табуляции.Мне это показалось достаточно понятным, и я назвал это, как и любой другой вид деятельности:

Intent i = new Intent(this, ActivityLeaveTabs.class);
startActivity(i);  

Если честно, все, кажется, работает просто отлично, однако каждый раз, когда я покидаю табачный ряд, я получаю следующее предупреждение:

не удалось сохранить, какой вид имеет фокус, потому что у сфокусированного вида com.android.internal.policy.impl.PhoneWindow$DecorView@43e4a3888 нет идентификатора

Я долженупомяните, что я отправляю это намерение из одного из действий, которое является частью группы действий, которая сама представляет одну из вкладок из табачной активности.Я подозреваю, что проблема связана с вызовом оттуда «startActivity (this, ...»), но я попробовал несколько вариантов, используя getParent (), который не помог.

Я не совсем ясно, чтоПредупреждение означает или, если это действительно проблема. Любая помощь в устранении предупреждения или если кто-то может сказать мне, чтобы не беспокоиться об этом (программа, кажется, работает очень хорошо), будет принята с благодарностью!

1 Ответ

2 голосов
/ 15 марта 2011

Похоже, что это связано с сохранением фокуса, поскольку новое действие выходит на передний план.

Это проливает немного света на проблему;DecorView содержит все другие виды вашей активности.Обычно для этого нет причины иметь идентификатор (хотя вы можете установить его программно).Так как не имеет большого значения, имеет ли фон фоновый фокус, я думаю, вы можете спокойно проигнорировать это предупреждение.

Интересным тестом будет попытка запустить ваше следующее действие с помощью кнопки onClick или чего-то ещеэто потребовало бы фокусировки другого вида, а затем выяснилось бы ли у вас предупреждение.

...