O componente personalizado do Android não exibe seus filhos

Oi pessoal, eu quero criar umFieldSet componente no Android. (igual ahtml) então algo comoeste. Então, eu quero que meu componente personalizado tenha filhos e tenha uma placa. A parte da placa já está pronta, mas tenho alguns problemas com a exibição do componente. estou seguindoesta responda. Aqui estão minhas partes:

FieldSet.java:

public class FieldSet extends ViewGroup {

  //... 3 constructors

  @Override
  protected void onFinishInflate()
    int index = getChildCount();
    // Collect children declared in XML.
    View[] children = new View[index];
    while(--index >= 0) {
      children[index] = getChildAt(index);
    }
    // Pressumably, wipe out existing content (still holding reference to it).
    this.detachAllViewsFromParent();
    // Inflate new "template".
    final View template = LayoutInflater.from(getContext()).inflate(R.layout.field_set, this, true);
    // Obtain reference to a new container within "template".
    final ViewGroup vg = (ViewGroup)template.findViewById(R.id.field_set_content);
    index = children.length;
    // Push declared children into new container.
    while(--index >= 0) {
      vg.addView(children[index]);
    }
  }

field_set.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:duplicateParentState    ="true"
    android:layout_height="wrap_content">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="15dp"
        android:id="@+id/field_set_content"
        android:duplicateParentState    ="true"
        android:background="@drawable/field_set_frame"
        android:orientation="vertical"
        android:padding="20dp">
    </RelativeLayout>
    <!--  This is the title label -->
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="50dp"
        android:paddingLeft="50dp"
        android:paddingRight="50dp"
        android:layout_marginRight="50dp"
        android:layout_centerHorizontal="true"
        android:text="Label"
        android:background="@color/colorLoginBlue"
        android:padding="5dp"
        android:id="@+id/field_set_label"
        android:textColor="@color/colorSmallTxt" />
</RelativeLayout>

Visualização do layout do Android studio acima (parece que o layout do componente está completamente bom):

Aqui está como eu o adiciono:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:fs="http://schemas.android.com/apk/res-auto"
    tools:context="my.package.DeleteThis">
    <my.package.FieldSet
        android:layout_width="match_parent"
        fs:label="Injected Label"
        android:layout_height="wrap_content"
        android:gravity="bottom">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="50sp"
            android:text="Inner text" />
    </my.package.FieldSet>
<TextView
    android:layout_width="match_parent"
    android:text="BELOW"
    android:layout_height="wrap_content" />
</RelativeLayout>

A visualização do estúdio para Android está abaixo. (Portanto, o layout ocupa todo o espaço necessário para as crianças.Observe também que a árvore de componentes mostra esse componenteTextView é adicionado ao layout como deve ser . No entanto, as crianças têm 0 altura e largura:

field_set_frame.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle" >
            <corners android:radius="7dp" />
            <padding android:bottom="2dp"/>
            <padding android:right="2dp"/>
            <padding android:left="2dp"/>
            <padding android:top="2dp"/>
            <stroke android:width="1dp" android:color="@color/colorFieldSetBorder" />
        </shape>
    </item>
</selector>

RESULTADO: Apenas nada :(, sem comentários)

Eu também liesta responder e tentei, masaddView não ajudou - causa recursão e não é necessário quando usoaddToRoot=True. eu tenteiLinearLayout, ao invés deRelative - não muda nada. Eu acho que estrago em algum lugarLayoutInflater.from(getContext()) .inflate(R.layout.field_set, this, true);. Também vale ressaltar que as crianças ocupam o lugar. Então, basicamente, se eu aumentar a altura do conteúdo que coloco no meu componente FieldSet, ela terá mais altura e empurrará todos os componentes que estão embaixo. Eu pareço esse tipo deVisibility questão. Ou alguma camada fica abaixo de outra, ainda a altura e a largura das crianças são zeros. Alguma sugestão?

Qualquer tipo de ajuda é muito apreciada.

Cumprimentos,

questionAnswers(1)

yourAnswerToTheQuestion