¿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.

  • Invalidate () en la vista personalizada no hace que onDraw (Canvas c) se llame
  • Android: ¿es eficiente almacenar referencias a Views como variables miembro?
  • ¿Cómo puedo reproducir vídeos de Youtube en un diseño personalizado de Android?
  • Androide. Buscar vista por etiqueta
  • android- puede hacer que un objeto dibujado en un lienzo haga clic
  • Barra de acción Sherlock action item view
  • Android: dibujar ImageView exactamente sobre la vista existente en una capa más profunda
  • Android ToggleButton
  • Vista personalizada no dibujada correctamente
  • es view.setOnTouchListener (listener) multicast? ¿como funciona?
  • Textura para pintar objeto en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.