选项卡不显示姜饼中的选项卡名称

时间:2012-09-20 04:08:51

标签: android

我正在开发一个使用标签的应用程序。

问题是:在API等级为15或更高的设备中,它工作正常,但低于API 15(对于前GingerBread),它无法正常工作。

问题:在标签中,它会显示我在标签上写的文字,它只显示空白标签。 你可以看到图像

正确的图片:我们可以看到标签名称“Tracker”,“Call Logs”,“STD code”和“ISD Codes”               enter image description here

问题图像标签名称未在此图像中显示(在姜饼中) enter image description here

正如您在此图像中看到的那样,标签名称名称不会显示。

我的代码在

下面

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 请提出解决方案

感谢

1 个答案:

答案 0 :(得分: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分配,您覆盖了之前的设置字段。