Jaką metodę powinienem wywołać, aby wiedzieć, czy działanie ma swój contentView (po wywołaniu metody setContentView () )?
279
this.getWindow().getDecorView().findViewById(android.R.id.content)
lub
this.findViewById(android.R.id.content)
lub
this.findViewById(android.R.id.content).getRootView()
getWindow().findViewById(android.R.id.content)
:)setContentView(R.layout.my_view)
, zwraca to rodzic tego układu.Możesz uzyskać widok Wstecz, jeśli umieścisz identyfikator w swoim układzie.
I nazwij to z findViewById ...
źródło
findViewById
?Co powiesz na
źródło
currentFocus?.let { ... }
Możesz spróbować
View.getRootView()
.źródło
Możesz także zastąpić,
onContentChanged()
który jest między innymi uruchamiany, gdysetContentView()
został wywołany.źródło
Jeśli używasz
Kotlin
źródło
Nie ma metody „isContentViewSet”. Możesz umieścić fałszywe wywołanie requestWindowFeature w bloku try / catch przed setContentView w następujący sposób:
Jeśli widok zawartości został już ustawiony, requestWindowFeature zgłosi wyjątek.
źródło
Najlepszą opcją, którą znalazłem i mniej inwazyjną, jest ustawienie parametru znacznika w pliku xml, na przykład
UKŁAD TELEFONU XML
UKŁAD TABLETU XML
a następnie nazwij to w swojej klasie aktywności:
Mam nadzieję, że to zadziała u ciebie.
źródło