Ответ 1
Вы пробуйте этот способ, чтобы получить корневой макет:
GetWindow() getDecorView() findViewById (android.R.id.content);..
ИЛИ
GetWindow() getDecorView() getRootView();..
Есть ли динамический способ получить корневой макет (тот, который является родительским для всех остальных макетов) в XML, установленном в настоящее время для моей активности?
То, что мне нужно, вместо того, чтобы дать моему корневому макету явный идентификатор и найти его через findViewById, я надеюсь получить что-то по строкам
псевдокод:
this.findTopLayout();
уже названный setContentView(R.layout.foo);
Я не вижу ничего в спецификации, которая бы сделала трюк, я просто пропустил его, или нет способа сделать это?
Вы пробуйте этот способ, чтобы получить корневой макет:
GetWindow() getDecorView() findViewById (android.R.id.content);..
ИЛИ
GetWindow() getDecorView() getRootView();..
Обратите внимание, что помимо метода, описанного Гришу, вы также можете использовать метод getParent в любом view (это включает в себя кнопки, изображения, макеты и т.д.), чтобы получить родительский элемент этого представления (возвращаемый родитель может также иметь родителя). Следовательно, альтернативным методом будет цикл на getParent из определенного представления, пока getParent не вернет null. В этот момент вы обнаружили корневой вид вашего представления содержимого.