Найти макет корня в действии - программирование
Подтвердить что ты не робот

Найти макет корня в действии

Есть ли динамический способ получить корневой макет (тот, который является родительским для всех остальных макетов) в XML, установленном в настоящее время для моей активности?

То, что мне нужно, вместо того, чтобы дать моему корневому макету явный идентификатор и найти его через findViewById, я надеюсь получить что-то по строкам

псевдокод:

this.findTopLayout();

уже названный setContentView(R.layout.foo);

Я не вижу ничего в спецификации, которая бы сделала трюк, я просто пропустил его, или нет способа сделать это?

4b9b3361

Ответ 1

Вы пробуйте этот способ, чтобы получить корневой макет:

GetWindow() getDecorView() findViewById (android.R.id.content);..

ИЛИ

GetWindow() getDecorView() getRootView();..

Ответ 2

Обратите внимание, что помимо метода, описанного Гришу, вы также можете использовать метод getParent в любом view (это включает в себя кнопки, изображения, макеты и т.д.), чтобы получить родительский элемент этого представления (возвращаемый родитель может также иметь родителя). Следовательно, альтернативным методом будет цикл на getParent из определенного представления, пока getParent не вернет null. В этот момент вы обнаружили корневой вид вашего представления содержимого.