私は、タブレイアウトを使用するアクティビティを持つAndroidアプリケーションで作業しています。いくつかのTextViewに表示される内容を切り替える2つのタブがあります。TabHost内の2つの異なるタブに同じレイアウトを表示するにはどうすればいいですか?
これは、二つのタブ仕様は、コンテンツのために同じレイアウト(リニア)にR.id.plantillaを指していることを意味します
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include layout="@layout/plantilla"/>
</FrameLayout>
</LinearLayout>
しかし、これだけ作品、私はタブ2に切り替えるとし、 1に戻ります。つまり、アクティビティが開始されると、タブが変更される前にLayout "plantilla"が表示されません。これは私の問題です。
これを回避する最も簡単な方法は何ですか?
PD:私はラインをtabhost XML内
<include layout="@layout/plantilla">
を複製しようとしているが、この場合、IはfindViewById(R.id.someTextView)を使用してJavaコードからTextViewsオブジェクトにアクセスすることはできません;
ありがとう、友人ですが、この方法は私がタブでアクティビティを持ちたくないので私を助けません。 TabActivityという1つのアクティビティが必要です。マークされたタブに応じて異なるコンテンツが表示されます。各タブに表示される内容は、TabActivityを持つプライベートオブジェクトから読み取られます。私が複数のアクティビティを持っている場合、私はこのオブジェクトを2つのタブのレイアウトと同じよりも複雑なアクティビティで共有する必要があります。 – cs4r