2

我正在开发一个使用选项卡的应用程序。

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

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

正确的图像:我们可以看到选项卡名称“Tracker”、“Call Logs”、“STD 代码”和“ISD 代码” 在此处输入图像描述

此图像中未显示问题图像选项卡名称(在姜饼中) 在此处输入图像描述

正如您在此图像中看到的那样,选项卡名称未显示名称。

我的代码如下

主要的.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 回答