Какой метод мне следует вызвать, чтобы узнать, есть ли у Activity свой contentView (после вызова метода setContentView () )?
279
this.getWindow().getDecorView().findViewById(android.R.id.content)
или
this.findViewById(android.R.id.content)
или
this.findViewById(android.R.id.content).getRootView()
getWindow().findViewById(android.R.id.content)
:)setContentView(R.layout.my_view)
, это возвращает родителя этого макета.Вы можете получить вид назад, если вы добавите идентификатор в свой макет.
И вызвать его из findViewById ...
источник
findViewById
?Как насчет
источник
currentFocus?.let { ... }
Вы можете попробовать
View.getRootView()
.источник
Вы также можете переопределить,
onContentChanged()
который среди других уволен, когдаsetContentView()
был вызван.источник
Если вы используете
Kotlin
источник
Нет метода isContentViewSet. Вы можете поместить несколько фиктивных вызовов requestWindowFeature в блок try / catch перед setContentView следующим образом:
Если представление содержимого уже было установлено, requestWindowFeature сгенерирует исключение.
источник
Лучший вариант, который я нашел, и менее навязчивый, это установить параметр тега в вашем xml, например:
PHONE XML LAYOUT
ПЛАНШЕТНАЯ ПЛАТА XML
и затем назовите это в своем классе деятельности:
Надеюсь, это работает для вас.
источник