Я знаю, как получить корневой вид с помощью View.getRootView () . Я также возможность получить вид с помощью кнопки в onClick
случае , когда аргумент является View . Но как я могу получить представление в деятельности ?
android
android-activity
view
Лалитх
источник
источник
setContentView()
и представленное вами представление уже является корневым. Если вам нужен дескриптор этого представления, просто добавьте к нему идентификатор в XAML, иfindViewById()
все будет в порядке.Ответы:
Если вам нужен root вид вашей активности (чтобы вы могли добавить туда свой контент) используйте
Также сообщалось, что на некоторых устройствах приходится использовать
вместо.
Обратите внимание, что, как сообщил Booger, на некоторых устройствах это может находиться за панелью навигации (с кнопкой «Назад» и т. Д.) (Но на большинстве устройств это не так).
Если вам нужно получить представление о том, что вы добавили в свою деятельность, используя
setContentView()
метод, то, как писал pottedmeat, вы можете использоватьНо лучше просто установить идентификатор для этого представления в макете XML и использовать вместо этого идентификатор.
источник
Это то, что я использую для получения корневого представления, найденного в файле XML, назначенном с
setContentView
:источник
ActionBar
также?Я проверял это в Android 4.0.3, только:
дать тот же взгляд, что мы получаем от
а также
давая ребенку его
Пожалуйста подтвердите.
источник
Получить корневой вид из текущей деятельности.
Внутри нашей деятельности мы можем получить
root
представление с:или
источник
В Kotlin мы можем сделать это немного короче:
источник
Просто, если кому-то нужен более простой способ:
Следующий код дает представление о всей деятельности:
View v1 = getWindow().getDecorView().getRootView();
Чтобы получить определенный вид в действии, например, imageView внутри действия, просто добавьте идентификатор того представления, которое вы хотите получить:
Надеюсь, это кому-нибудь поможет
источник
findViewById(R.id.imageView1);
активность, если хотите конкретный вид.anyview.getRootView();
будет самый простой способ.источник
Решение по расширению Kotlin
Используйте это, чтобы упростить доступ в Деятельности. Тогда вы можете напрямую ссылаться
rootView
на активность илиactivity.rootView
вне ее:Если вы хотите добавить то же самое для фрагментов для согласованности, добавьте:
источник
получить вид текущей деятельности
в любом onClick мы будем получать «View view», используя «view» получить rootView.
View view = view.getRootView ();
и получить View во фрагменте
View view = FragmentClass.getView ();
источник
если вы находитесь в упражнении, предположим, что есть только одно корневое представление, вы можете получить его следующим образом.
Затем вы можете привести его в свой реальный класс
или вы могли бы использовать
обратите внимание, что это будет включать в себя вид панели действий, ваш вид ниже представления панели действий
источник
Activity
классе нет такого метода .Для тех из вас, кто использует библиотеку привязки данных , чтобы получить корень текущей активности, просто используйте:
А для пользователей Kotlin это еще проще:
источник
Еще одно решение для расширения Kotlin
Если представление вашей активности объявлено в xml (ex
activity_root.xml
), откройте xml и назначьте id для корневого представления:Теперь в вашем классе импортируйте представление, используя:
Теперь вы можете использовать
root_activity
в качестве представления.источник