Adicione várias visualizações personalizadas ao layout programaticamente
Se eu, por exemplo, tiver um layout vazio como este:
layout1.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
E algum outro layout como este:
layout2.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView 1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 2" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 3"
android:layout_weight="1"/>
</LinearLayout>
Eu gostaria de adicionarlayout2.xml
paralayout1.xml
programaticamente. Eu precisaria ter várias versões diferenteslayout2.xml
que eu adicionaria quando eu quiser. Cada um teria texto diferente no TextView e nos botões.
No caso do Android View normal, eu normalmente faria o mesmo com esteaddView
:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv1 = new TextView(this);
tv1.setText("HELLO");
my_linear_layout.addView(tv1);
Button btn2 = new Button(this);
bt2.setText("WORLD");
my_linear_layout.addView(btn2);
}
Como posso fazer isso se não tenho algo simples como TextView ou Button e se tenho minha própria visualização definida em xml?
Seria possível, de alguma forma, colocar todas as visualizações dentro do adaptador como em um ListView e obtê-lo quando necessário e apenas chamaraddView
nessas vistas?