2011-07-15 5 views
1

カスケーディングスタイルで表示したい情報があり、タブ形式で表示することをお勧めします。Androidの質問:タブホストをタブの1つに配置できますか?

私の考えは、別の親TabHostの1つのタブに埋め込まれたTabHostを持つことです。

私はTabHostの一つの層が動作することができ、私はタブの一つに別のTabHostを追加しようとしたとき、それは常にのエラー与えられていない:

ノーリソースをそれが( 'で指定された名前と一致しました'価値の' idが@android:ID/tabhostDiagnosis

誰もがここに私のコード(冗長部分を削除)

<?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="fill_parent" 
    android:layout_height="fill_parent"> 
    <LinearLayout android:orientation="vertical" 
     android:layout_width="fill_parent" android:layout_height="fill_parent"> 
     <TabWidget android:id="@android:id/tabs" 
      android:layout_width="fill_parent" android:layout_height="wrap_content" /> 
     <FrameLayout android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" android:layout_height="fill_parent"> 

      <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="fill_parent" android:layout_height="fill_parent" 
       android:id="@+id/Diagnosis"> 
       <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:orientation="vertical" android:layout_width="fill_parent" 
        android:layout_height="fill_parent"> 

<!-- --> 
        <TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@android:id/tabhostDiagnosis"       
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent"> 
         <LinearLayout android:orientation="vertical" 
          android:layout_width="fill_parent" android:layout_height="fill_parent"> 
<!--        --> 
          <TabWidget android:id="@android:id/tabsDiagnosis" 
           android:layout_width="fill_parent" android:layout_height="wrap_content" /> 

          <FrameLayout android:id="@android:id/tabcontentDiagnosis" 
           android:layout_width="fill_parent" android:layout_height="fill_parent"> 

          </FrameLayout> 
         </LinearLayout> 
        </TabHost> 
       </LinearLayout> 
      </ScrollView> 


     </FrameLayout> 
    </LinearLayout> 
</TabHost> 
がある前に

同じ問題に直面しています?

答えて

1

私はTabHostのためにthe source codeを勉強しました。

これは、R.id.xによってTabWidget(またはFrameLayout)を直接参照します。

mTabWidget = (TabWidget) findViewById(com.android.internal.R.id.tabs); 

これは基本的に別のものに埋め込まれたTabHostを持っていないからです。

答えがうまくいきません。

0

ウィンストンは

あなたがインスタンス化できるタブ選択時に別のアクティビティ新しいTabHost/TabWidgetなどを開始することができます...正しいですが、

関連する問題