723 Stimmen

Wurzelansicht der aktuellen Aktivität abrufen

Ich weiß, wie man die Root-Ansicht mit View.getRootView() . Ich bin auch in der Lage, die Ansicht von einer Schaltfläche zu erhalten onClick Ereignis, bei dem das Argument ein Siehe . Aber wie kann ich die ver in einem Tätigkeit ?

21voto

Salah Klein Punkte 370

Nur für den Fall, dass jemand einen einfacheren Weg braucht:

Der folgende Code gibt einen Überblick über die gesamte Aktivität:

View v1 = getWindow().getDecorView().getRootView();

Um eine bestimmte Ansicht in der Aktivität zu erhalten, z.B. eine imageView innerhalb der Aktivität, fügen Sie einfach die ID der gewünschten Ansicht hinzu:

View v1 = getWindow().getDecorView().getRootView().findViewById(R.id.imageView1);

Hoffentlich hilft das jemandem

10voto

Gibolt Punkte 32347

Kotlin Extension Lösung

Verwenden Sie dies, um den Zugriff in einer Aktivität zu vereinfachen. Dann können Sie sich direkt auf rootView aus der Aktivität, oder activity.rootView außerhalb davon:

val Activity.rootView get() = window.decorView.rootView

Wenn Sie aus Gründen der Konsistenz dasselbe für Fragmente hinzufügen möchten, fügen Sie dies hinzu:

val Fragment.rootView get() = view?.rootView

8voto

Alex Mamo Punkte 113782

Für diejenigen von Ihnen, die das Datenbindungsbibliothek um die Wurzel der aktuellen Aktivität zu erhalten, verwenden Sie einfach:

View rootView = dataBinding.getRoot();

Und für Kotlin-Benutzer ist es sogar noch einfacher:

val rootView = dataBinding.root

5voto

Khemraj Sharma Punkte 52006

anyview.getRootView(); ist der einfachste Weg.

1voto

user3509903 Punkte 55

Um die Ansicht der aktuellen Aktivität zu erhalten

in jedem onClick erhalten wir "View view", durch die Verwendung von 'view' erhalten wir die rootView.

View view = view.getRootView();

und um View in fragment zu erhalten

View view = FragmentClass.getView();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X