2017-02-15 19 views
2

私の仲間の開発者に挨拶。私はTabHostを使用していますが、第二のタブ内で、私は別のTabHostを使用する場合、使用するアンドロイドのプロジェクトに取り組んでいます 、 はこれまでのところ、私はこの 私のメインTabHostのXMLがタブホストのタブ内にAndroidタブホーム

<TabHost 
    android:id="@+id/homeTabHost" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dip" 
      android:layout_weight="1" 
      android:orientation="vertical"> 

      <FrameLayout 
       android:id="@android:id/tabcontent" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

       <!--first tab content--> 
       <include layout="@layout/content_blood_glucose_diary_home" /> 

       <!--second tab content--> 
       <include layout="@layout/content_blood_glucose_diary_summary" /> 

       <!--3rd tab content--> 
       <include layout="@layout/content_blood_glucose_diary_activities" /> 

      </FrameLayout> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <TabWidget 
       android:id="@android:id/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content"></TabWidget> 
     </LinearLayout> 
    </LinearLayout> 
</TabHost> 

とのための私のJavaコードで達成していますこれは

私はこの時点で、物事の仕事で最高の私のonCreate

loadTabs(R.id.homeTabHost, "Today", "Summary", "Activity"); 

から呼び出しています

private void loadTabs(int tabhost, String tab1, String tab2, String tab3){ 
    TabHost host = (TabHost)findViewById(tabhost); 
    host.setup(); 

    loadTab(host, R.id.homeTab1, tab1); //tab 1 

    loadTab(host, R.id.homeTab2, tab2); //tab 2 

    loadTab(host, R.id.homeTab3, tab3); //tab 3 
} 

private void loadTab(TabHost host, int tabid, String tab){ 
    TabHost.TabSpec spec = host.newTabSpec(tab); 
    spec.setContent(tabid); 
    spec.setIndicator(tab); 
    host.addTab(spec); 
} 

です greateのが、とき(このような)私の要約XML

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:orientation="horizontal" 
    android:weightSum="1"> 

    <TabHost 
     android:id="@+id/summaryTabHost" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.8"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

      <TabWidget 
       android:id="@android:id/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content"></TabWidget> 

      <FrameLayout 
       android:id="@android:id/tabcontent" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

       <!--first tab content--> 
       <LinearLayout 
        android:id="@+id/summaryTab1" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:orientation="vertical"> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="tab1" /> 
       </LinearLayout> 

       <!--second tab content--> 
       <LinearLayout 
        android:id="@+id/summaryTab2" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:orientation="vertical"> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="tab2" /> 
       </LinearLayout> 

       <!--3rd tab content--> 
       <LinearLayout 
        android:id="@+id/summaryTab3" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:orientation="vertical"> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="tab3" /> 
       </LinearLayout> 

       <!--4th tab content--> 
       <LinearLayout 
        android:id="@+id/summaryTab4" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:orientation="vertical"> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="tab4" /> 
       </LinearLayout> 
      </FrameLayout> 
     </LinearLayout> 
    </TabHost> 
</LinearLayout> 

で別のtabhostを追加して、私のjavaファイルに私は

loadTabs(R.id.summaryTabHost, "All", "Yearly", "Monthly", "Weekly"); 

である私のOnCreate関数で

private void loadTabs(int tabhost, String tab1, String tab2, String tab3, String tab4){ 
    TabHost host = (TabHost)findViewById(tabhost); 
    host.setup(); 

    loadTab(host, R.id.summaryTab1, tab1); //tab 1 

    loadTab(host, R.id.summaryTab2, tab2); //tab 2 

    loadTab(host, R.id.summaryTab3, tab3); //tab 3 

    loadTab(host, R.id.summaryTab4, tab4); //tab 4 
} 

これを追加これはうまくいくはずです... 最初のタブホストと同じであるため、最初のタブホストタブは表示されません。

ですが、要約xmlの中で2番目のタブホストをコメントすると、通常のように見えます。

これまでの診断では、恐らく何かが第2番目のタブホストに座っていない可能性があります。

何が間違っているのでしょうか???どんな援助も認められている!

+0

でそれを使用することができますようにしたい場合は、 をtablayout使用することができますDepriectedされますしかし、私は画面の上部にそれを作る場合、両方のtabhostsはうまく動作します..私は最初のタブホストの画面の上部と画面の内側のタブホストの下部を作成してもうまく動作します..それは働く.. 私はしようとすると、私が問題にしたようにする –

答えて

0

TabHostは、私は、画面の一番下にtabhostを作成...あなたはタブ内のタブを使用して、簡単にこの例では内部フラグメント

Androidhive tablayout tutorial

関連する問題