Tabhost教程坏了吗?

时间:2011-01-06 20:54:26

标签: android xml tabs android-tabhost

  

可能重复:
  Anyone know what this error mean for android tabs?

我一直在尝试在SDK中执行TabHost教程但由于某种原因,似乎打破了。在第4步,我复制并粘贴xml代码,我收到一个错误,阻止它正常膨胀。错误是:

 Error in an XML file: aborting build.

这是xml文件的图形布局。

Error during post inflation process:
TabHost requires a TabWidget with id "android:id/tabs",
View found with id "tabs" is 'com.android.layoutlib.bridge.MockView'

xml文件本身就有这个。

    <?xml version="1.0" encoding="utf-8"?>
    <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp" />
    </LinearLayout>
</TabHost>

我做错了吗?

4 个答案:

答案 0 :(得分:2)

使用此模板:

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent">
    <LinearLayout
        android:id="@+id/tab"    android:orientation="vertical"        android:layout_width="fill_parent"   android:layout_height="fill_parent">
        <TabWidget
            android:id="@android:id/tabs"    android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"            android:layout_width="fill_parent"     android:layout_height="fill_parent">

            <LinearLayout android:id="@+id/tab1" android:layout_width="fill_parent"
             android:layout_height="fill_parent" android:orientation="vertical"/>

            <LinearLayout android:id="@+id/tab2" android:layout_width="fill_parent"
             android:layout_height="fill_parent" android:orientation="vertical"/>

</FrameLayout>
</LinearLayout>
</TabHost>

答案 1 :(得分:2)

请参阅步骤5,您的活动必须扩展TabActivity,而不是活动

  

现在打开HelloTabWidget.java并使其扩展TabActivity:

答案 2 :(得分:0)

您可以使用此处的更新渲染库:Android Tools

只需将\layoutlib\[platform version]中找到的目录解压缩到\[sdk dir]\platforms\[platform version],然后将其覆盖layoutlib

答案 3 :(得分:0)

在图形布局中切换到android目标3.0或3.1。您可以在右上角找到下拉列表