我正在开发一个使用标签的应用程序。
问题是:在API等级为15或更高的设备中,它工作正常,但低于API 15(对于前GingerBread),它无法正常工作。
问题:在标签中,它会显示我在标签上写的文字,它只显示空白标签。 你可以看到图像
正确的图片:我们可以看到标签名称“Tracker”,“Call Logs”,“STD code”和“ISD Codes”
问题图像标签名称未在此图像中显示(在姜饼中)
正如您在此图像中看到的那样,标签名称名称不会显示。
我的代码在
下面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 请提出解决方案
感谢
答案 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
分配,您覆盖了之前的设置字段。