OK, por lo que entiendo como usar la etiqueta include pero me he encontrado con un problema.Android con los diseños como plantilla para la creación de varias instancias de diseño
Básicamente quiero tener un diseño definido en xml que tiene un par de TextView
sy ImageView
en él. Luego quiero iterar a través de una matriz y poblar los campos dentro del diseño xml dependiendo de qué está en una matriz (que se llena en el tiempo de ejecución). De este modo, se realizan copias múltiples del diseño xml y se rellenan los campos con datos únicos. Ahora no tengo idea de cómo puede volver a utilizar este LinearLayout
de esta manera, ya que el TextView
sy el ImageView
s tienen una identificación constante y necesito hacer varias copias de este diseño.
¿Hay alguna forma para inflar un recurso y luego hacer una copia de la misma, que podría funcionar ... Así
LinearLayout one = new LinearLayout(inflater.inflate(R.layout.home, container, false));
^No hay ningún constructor de esa desgracia.
La única otra forma es hacerlo todo programáticamente pero preferiría tener las propiedades de las vistas y el LinearLayout
en xml en lugar de en el código. Es como si quisiera que la LinearLayout
fuera una plantilla de la que puedes hacer copias, supongo ... Realmente no estoy seguro si eso es posible.
Muchas gracias! Eso lo resolvió ... Creo que necesito entender las diferentes llamadas de inflado (...). – gunboatmedia
Gracias! Buen ejemplo de infierno también! –
¿Hay alguna manera de simplemente copiar el diseño durante el ciclo en lugar de usar inflator.inflate() en cada iteración? Me parece que inflar es muy caro en comparación con simplemente copiar. –