Мой main.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
android:id="@+id/myBtns"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="horizontal"
>
<Button
android:id="@+id/btn_one"
android:layout_width="100dip"
android:layout_height="30dip"
android:text="button one"
/>
<Button
android:id="@+id/btn_two"
android:layout_width="100dip"
android:layout_height="30dip"
android:text="button two"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/content_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<!--different button press will embed different content here-->
</LinearLayout>
</LinearLayout>
Я быЯ хотел бы создать собственную вкладку , которая при каждом нажатии кнопки будет обновлять содержимое (content_area
) под кнопками.Поэтому я подготовил два других макета контента:
content_one.xml :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView.../>
<Button .../>
</LinearLayout>
content_two.xml :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<Gallery.../>
<Button .../>
</LinearLayout>
Со всеми моими простыми кодами, показанными выше, я хотел бы реализовать функцию, которая:
в main.xml :
когдаbutton_one
нажата, content_one.xml будет добавлено в content_area
из main.xml ;
при нажатии button_two
значение content_area
из main.xml будет обновлено до content_two.xml
Что означает использование кнопки для создания функции, похожей на вкладку .
Мой вопрос заключается в том, как обновить content_area с помощью внешнего XML-файла макета (например, * 1057).* content_one.xml & content_two.xml ) был вставлен в content_area
моего main.xml макета?
это:
button_one.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
//What to do here?? to update the content_area in main.xml with an external xml layout
}
});
---------------- ОБНОВЛЕНИЕ ----------------------------
Я пытался:
button_one.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
LayoutInflater inflater = (LayoutInflater)MyActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View inflatedView = inflater.inflate(R.layout.content_one, null);
LinearLayout contentArea= (LinearLayout) findViewById(R.id.content_area);
contentArea.addView(inflatedView);
}
});
Но это не работает, почему?