2

タブを使用するアプリケーションを開発しています。

問題は次のとおりです。APIレベル15以上のデバイスでは正常に機能していますが、API 15未満(GingerBreadなど)では機能していません。

問題:タブでは、タブに書いたテキストが表示されず、空白のタブが表示されるだけです。あなたは画像を見ることができます

正しい画像:タブ名「トラッカー」、「通話記録」、「STDコード」、「ISDコード」が表示されます ここに画像の説明を入力してください

問題この画像に表示されていない画像タブ名(ジンジャーブレッド) ここに画像の説明を入力してください

この画像でわかるように、タブ名は表示されていません。

私のコードは以下の通りです

main.xml

         <?xml version="1.0" encoding="utf-8"?>

<TabHost android:layout_width="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:id="@android:id/tabhost"

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

/>
<LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"

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


 </FrameLayout>


   </LinearLayout>

</TabHost>

私のアクティビティファイルは

      public class MobileNumberTrackerTabbedHomeActivity extends TabActivity {
        /** Called when the activity is first created. */
        TabHost tabHost;

        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);

                tabHost=getTabHost();
                //First Tab
                TabSpec tab1=tabHost.newTabSpec("Tracker");
                tab1=tab1.setIndicator("Tracker");
                Intent intentNumberTracker =new Intent(this, NumberTrackerActivity.class);
                tab1=tab1.setContent(intentNumberTracker);

                TabSpec tab2=tabHost.newTabSpec("STD Codes");
                tab2=tab2.setIndicator("STD Codes");
                Intent intentSTDCode=new Intent(this,STDCodeFinderActivity.class);
                tab2=tab2.setContent(intentSTDCode);

                TabSpec tab3=tabHost.newTabSpec("ISD Codes");
                tab3=tab3.setIndicator("ISD Codes");
                Intent intentISDCode=new Intent(this,ISDCodeFinderActivity.class);
                tab3=tab3.setContent(intentISDCode);


                TabSpec tab4=tabHost.newTabSpec("Call Logs");
                tab4=tab4.setIndicator("Call Logs");
                Intent intenCallLogs=new Intent(this,ShowCallLogsActivity.class);
                tab4=tab4.setContent(intenCallLogs);

                tabHost.addTab(tab1);
                tabHost.addTab(tab4);
                tabHost.addTab(tab2);
                tabHost.addTab(tab3);


        }

}

すべてのAPIでタブが正常に機能するようにするにはどうすればよいですか解決策を提案してください

ありがとう

4

1 に答える 1

0

それは次のようになるはずです、

//First Tab
      TabSpec tab1=tabHost.newTabSpec("Tracker");
      tab1.setIndicator("Tracker");
      Intent intentNumberTracker =new Intent(this, NumberTrackerActivity.class);
      tab1.setContent(intentNumberTracker);

の代わりに、各タブに対して

//First Tab
      TabSpec tab1=tabHost.newTabSpec("Tracker");
      tab1=tab1.setIndicator("Tracker");
      Intent intentNumberTracker =new Intent(this, NumberTrackerActivity.class);
      tab1=tab1.setContent(intentNumberTracker);

毎回割り当てることによりtab1 = new content/setting、以前に設定したフィールドを上書きします。

于 2012-09-20T04:16:03.650 に答える