マイ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
)が更新されます。だから、私は2つの他のコンテンツのレイアウトを用意しています
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.x mlの:
button_one
が押されたときに、content_one.xmlはcontent_area
のmain.xmlに埋め込まれます。button_two
が押されたときには、main.xmlの
content_area
はタブ状機能を作成するには、ボタンを使用することを意味content_two.xml
に更新されます。
私の質問はどのように私のmain.xmlレイアウトのcontent_area
内側に埋め込まれて外部のレイアウトxmlファイル(& content_two.xmlが例えばcontent_one.xml)とcontent_areaを更新するのですか?
です:
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
}
});
---------------- UPDATE ------------------- ---------
私が試した:
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);
}
});
しかし、それは動作しません、なぜですか?
この前の答えはあなたを助けることができます。http://stackoverflow.com/questions/5961522/help-how-can-i-do-includein-xml-programmatically-in-my-app-android – Fortega
@フォルガ、私は試みたが動作しない、私の更新を参照してください – Leem