¿Cómo obtener todas las vistas en una actividad?

Hay una manera de obtener todas las vistas que está dentro de mi actividad? Tengo sobre 200 puntos de vista incluyendo los botones, y las imágenes, así que quiero poder tener acceso a ellas usando un lazo

Por ejemplo algo como

for (View v : this) { //do something with the views //depending on the types (button, image , etc) } 

Hay una manera de obtener todas las vistas que está dentro de mi actividad?

Obtenga su View raíz, ViewGroup a un grupo de ViewGroup , llame a getChildCount() y getChildAt() , y recurse según sea necesario.

Tengo sobre 200 puntos de vista incluyendo los botones, y las imágenes, así que quiero poder tener acceso a ellas usando un lazo

Ese es un número bastante grande de Views .

Intente encontrar todas las vistas asociadas con la Actividad.

Dé el siguiente comando.

 ViewGroup viewgroup=(ViewGroup)view.getParent(); viewgroup.getchildcount(); 

Iterar a través del bucle.

Conseguiremos el resultado.

Ser específico:

 private void show_children(View v) { ViewGroup viewgroup=(ViewGroup)v; for (int i=0;i<viewgroup.getChildCount();i++) { View v1=viewgroup.getChildAt(i); if (v1 instanceof ViewGroup) show_children(v1); Log.d("APPNAME",v1.toString()); } } 

Y luego utilizar la función en alguna parte:

 show_children(getWindow().getDecorView()); 

Para mostrar todas las vistas en la actividad actual.

Puede utilizar el jerarquizador, Permite ver la jerarquía de la vista, incluidas las creadas en el código. Es la razón principal es para depurar cosas como esta. El último Android Studio ahora tiene esta función en el Monitor de dispositivos que te permite hacer un volcado de la interfaz de usuario para depurarlo.

  • No error "Sólo el subproceso original que creó una jerarquía de vista puede tocar sus vistas" cuando la vista se actualiza sin demora
  • android- puede hacer que un objeto dibujado en un lienzo haga clic
  • ¿Cómo puedo reproducir vídeos de Youtube en un diseño personalizado de Android?
  • Android - Descripción de View.getLocalVisibleRect (Rect)
  • Android - view.Surface OutOfResourcesException
  • Android: cómo encontrar varias vistas con un atributo común
  • Android ¿hay alguna llamada de vista cuando se destruye?
  • Android.view.InflateException: Línea de archivo XML binario # 33: Error al inflar la clase
  • Disposición de Android Los parámetros cambian SÓLO el ancho y la altura
  • Mostrar la vista desplegada en Android Studio en vista previa
  • Androide. Buscar vista por etiqueta
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.