Если я, например, иметь пустой макет так:Добавить несколько представлений пользовательских макет программно
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>
И некоторые другие Компоновка, как это:
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>
Я хотел бы добавить layout2.xml
в layout1.xml
p rogrammatically. Мне нужно было бы иметь несколько разных версий layout2.xml
, которые я бы добавил, когда захочу. Каждый из них имел бы другой текст в TextView и Buttons.
В случае регулярного Android View я обычно делаю это так же, как это с addView
:
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);
}
Как я могу это сделать, если я не имею что-то простое, как TextView или кнопки, и если у меня есть мой собственный xml определенный вид?
Возможно ли каким-либо образом разместить все виды внутри адаптера, как для ListView, а затем получить его при необходимости и просто вызвать addView
на эти виды?
Использование LayoutInflator сделать это См http://stackoverflow.com/questions/2335813/how-to-inflate -one-view-with-a-layout – user3917131