¿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
- ¿En qué momento del ciclo de vida de la aplicación puede / debe utilizar mediciones de diseño?
- GetWidth y getHeight devuelven un cero
- Personalizar Android PieChart
- Método para anular cuando el diseño se destruye en Android
- Mejores prácticas de Android: vistas / actividades
for (View v : this) { //do something with the views //depending on the types (button, image , etc) }
- Cómo detectar si la actividad principal de la vista se está destruyendo
- ¿Cómo obtener una vista más grande que su padre?
- Cambiar retardo de clic largo
- Cómo implementar un deslizamiento de una vista (como feed de noticias en la aplicación de Facebook)
- Android: ViewPager y HorizontalScrollVIew
- Android View PerformClick () y callOnClick () diferencia
- Android: muestra la vista personalizada de la interfaz de usuario en el visor de diseño de Eclipse
- ¿Cómo comprobar la vista contiene otra vista?
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.
- Padding arround textview con fondo de nueve parches no tienen efecto visual
- ¿Cómo puedo obtener las coordenadas de un mapa al toque con MapFragment (no MapView)?