TabHost没有显示任何内容

时间:2011-10-31 13:06:44

标签: android android-tabhost

protected void onCreate(Bundle savedInstanceState) 
{
  super.onCreate(savedInstanceState);
  setContentView(R.layout.splash);

  TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);

  TabSpec homeTabSpec = tabHost.newTabSpec("tid1");
  TabSpec videoTabSpec = tabHost.newTabSpec("tid1");
  TabSpec aboutUsTabSpec = tabHost.newTabSpec("tid1");

  homeTabSpec.setIndicator("Home").setContent(new Intent(this,FirstActivity.class));
  homeTabSpec.setIndicator("tid1",getResources().getDrawable(R.drawable.home));

  videoTabSpec.setIndicator("Video").setContent(new Intent(this,VideoWeb.class));
  videoTabSpec.setIndicator("tid1",getResources().getDrawable(R.drawable.videos));

  aboutUsTabSpec.setIndicator("About Us").setContent(new     Intent(this,AboutWeb.class));
  aboutUsTabSpec.setIndicator("tid1",getResources().getDrawable(R.drawable.aboutus));

  tabHost.addTab(homeTabSpec);
  tabHost.addTab(videoTabSpec);
  tabHost.addTab(aboutUsTabSpec);
}

我的xml -

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

<TabHost android:layout_width="fill_parent"

android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@android:id/tabhost">

<LinearLayout android:id="@+id/LinearLayout01"

android:orientation="vertical" android:layout_height="fill_parent"

android:layout_width="fill_parent">

<TabWidget android:id="@android:id/tabs"

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

<FrameLayout android:id="@android:id/tabcontent"

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

</LinearLayout>

</TabHost>

1 个答案:

答案 0 :(得分:2)

如果您的xml布局中没有定义TabActivity,则应调用tabHost.setup()向其中添加任何内容。

所以它应该是:

TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
tabHost.setup()