Quiero descomponer mi UI en varios diseños XML. El primero sería el diseño principal, y los otros serían los diseños de contenido.Android: ¿Cómo incluir dinámicamente un diseño XML?
Me gustaría poder establecer qué content_layout debe incluirse dinámicamente en tiempo de ejecución, por lo que no quiero establecer "layout="@+layout/content_layout"
en mi archivo XML.
Éstos son mis diseños:
main_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="600dp"
android:layout_height="800dp" >
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
<include /> <!-- I WANT TO INCLUDE MY CONTENT HERE -->
<Button
android:id="@+id/cancelButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Cancel" />
</RelativeLayout>
content_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/whatever"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
content_layout2.xml:
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/whatever2"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
¿Cómo puedo hacer ¿ese?
Gracias!
Intenté usar addView en otro caso, pero parecía que ambos diseños se superponían entre sí. Segundo hijo significa en el segundo nivel, entonces bajo mi RelativeLayout ¿verdad? ¿Puedo seguir usando referencias como android: layout_belowe = "@ + id/title" en mi diseño de contenido, evento si no están definidos en el mismo archivo XML? Si no, ¿cómo se supone que deben saber cómo insertarlo en el lugar correcto? Gracias – nbarraille
Se agregará donde pones el commend (// QUIERO INCLUIR MI CONTENIDO AQUÍ ????). Para diseños complejos, siempre puede recorrer una vista (grupos) de elementos secundarios a través de getChildCount(), getChildAt() y agregar la vista donde desee. Además, puede establecer una identificación a través de view.setId() en el código y luego referirse a eso. Pero, por supuesto, eso sería, por ejemplo, una constante en su código, no a través de R.id.someId, ya que una identificación asignada a través de código java no está en su archivo R. –
Ok, lo tengo, el índice 1 (segundo hijo) en realidad significa que se insertará entre el título y el botón, 0 habría estado antes del título, etc ... Gracias. – nbarraille