Исключить PhoneWindow $ DecorView из встроенных намерений в ActivityGroup (TabHost) - PullRequest
1 голос
/ 05 мая 2010

Я пытаюсь упростить свои представления и избавиться от некоторых вложенных макетов, и, глядя на просмотрщик иерархии, заметил, что встроенные Activity в TabHost имеют PhoneWindow $ DecorView. Есть ли способ, которым я могу избавиться от этого?

Пример здесь:

http://www.vimtips.org/media/hv.png

1 Ответ

1 голос
/ 05 мая 2010

Да, да, вы можете, но в принципе это бесполезно .:100100 *

Window w = mLocalActivityManager.loadActivity(id, intent);
View decor = w.getDecorView();
ViewGroup frame = (ViewGroup)decor.findViewById(android.R.id.content);

View view = frame.getChildAt(0);
frame.removeView(view);

Затем вы можете добавить view в представление содержимого ActivityGroup.Единственная проблема заключается в том, что LocalActivityManager больше не может управлять им, то есть, когда вы переключаетесь с этой «вкладки» и пытаетесь вернуться к ней, frame.getChildAt(0) вернет ноль.Кэширование, вероятно, будет работать, но другие вещи также больше не управляются, такие как меню параметров и т. Д. И т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...