`
morry
  • 浏览: 132095 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android Eclipse插件TabHost问题

阅读更多

学习Android一周, 这两天用TabHost的时候, 遇到2个问题:

 

问题1.  运行Activity的时候出现Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'

添加Layout的时候,xml跟元素选择TabHost, 但是ADT没有添加id属性, 运行的时候,会提示Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'错误, 需要添加android:id="@android:id/tabhost", 这样就可以了。

 

问题2. 运行Activity的时候出现Your TabHost must have a TabWidget whose id attribute is 'android.R.id.tabcontent'

解决方法: 修改FrameLayout添加id属性, ADT自动生成的xml文件中Id是android:id="@+id/FrameLayout01 ", 需要修改成下面的格式android:id="@android:id/tabcontent ",这个估计会困扰一大批初学者,谁会想到会修改这个地方,看到错误很容易修改成tabcontent,但是前缀不容易想到。 而且在ADT可视化编辑这个文件的时候, 界面上显示NullPointerException,这个是ADT的一个BUG。

 

 

修改后的xml如下:

 

<?xml version="1.0" encoding="utf-8"?>
<TabHost
  android:id="@android:id/tabhost"
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent" android:layout_height="fill_parent">
    <LinearLayout android:id="@+id/LinearLayout01" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical">
   
        <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_width="fill_parent" android:layout_height="fill_parent">
        </FrameLayout>   
</LinearLayout>
</TabHost>

 

 

注意: 如果用TabHost的话, 上面标红的三处必须是一样, 这个是Google的约定。  而且一个工程中只能有一个TabHost。

2
1
分享到:
评论
2 楼 killerover85 2012-06-29  
我加了还是报这样的错,那么解决?
1 楼 hh777 2011-07-04  
TabHost 改了不管用啊

1.
<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"
android:background="@drawable/default_bg">

2.
//以下三句代码,注意顺序
TabHost mTabHost = (TabHost)findViewById(android.R.id.tabhost);
mTabHost.setup();
TabWidget tabWidget = mTabHost.getTabWidget();

错误日志:

相关推荐

    Android 嵌套TabHost示例

    在Android应用开发中,TabHost是一个非常重要的组件,它用于创建多标签的界面,让用户能够通过不同的标签页浏览和切换不同的功能或内容。本示例是关于如何在Android中实现嵌套的TabHost,即两个层级的TabHost,类似...

    Android TabHost动态增加和删除

    ### Android TabHost 动态增加与删除详解 #### 一、TabHost简介 TabHost是Android框架中的一个重要组件,用于创建具有多个标签页的应用界面。TabHost由三部分组成: 1. **`TabWidget`**:显示各个标签的组件。 2....

    Android-TabHost.rar_android_android tabhost_tabhost_tabhost andr

    在Android应用开发中,TabHost是一个非常重要的组件,它用于创建多标签的用户界面,使得用户可以在不同的功能之间轻松切换。TabHost与TabWidget和FrameLayout一起工作,为每个标签提供一个视图容器。本教程将深入...

    android总结之TabHost

    对于博客中提到的"源码"标签,理解TabHost的源码可以帮助开发者更深入地了解其工作原理,从而优化性能或解决特定问题。TabHost类主要在`android.widget.TabHost`包下,可以查看其对TabWidget和FrameLayout的管理逻辑...

    android TabHost(标签)的使用

    在Android开发中,TabHost是实现标签栏切换界面的一个关键组件。TabHost允许开发者创建一个具有多个Tab的界面,每个Tab都可以关联到不同的布局或活动(Activity),为用户提供直观的多视图导航体验。本文将深入讲解...

    android 一个TabHost的例子

    在Android开发中,TabHost是一个非常重要的组件,用于实现多标签页的应用界面。TabHost结合TabWidget和FrameLayout,能够方便地创建具有多个选项卡的布局。本篇将深入讲解如何利用TabHost来构建一个简单的Android...

    Android fragment 内部嵌套tabhost组件

    8. **兼容性问题**:由于TabHost是早期Android API的一部分,所以在较低版本的Android系统上运行时,可能需要使用Support Library中的Fragment和TabHost的兼容版本。 9. **现代替代方案**:尽管TabHost仍然是可行的...

    Android Intent_TabHost源码演示

    Android编程之Intent_TabHost源码演示,自定义的Tabhost(内含源码),学习制作Android软件的TAB标签界面,在电脑上已经很流行的功能,Android手机上当然不能少,这个TabHost源码相对简单些,是JAVA转学Android比较...

    Android代码-tabhost--UI源码.zip

    在Android开发中,TabHost是一个非常重要的组件,用于创建具有多个Tab标签的界面,每个标签可以展示不同的内容或活动(Activity)。本资源“tabhost--UI源码.zip”显然是一个包含有关如何使用TabHost实现用户界面的...

    TabHost的使用方法

    在Android开发中,TabHost是一个非常重要的组件,用于创建具有多个Tab标签的界面,每个标签可以展示不同的内容或活动(Activity)。本教程将详细介绍如何使用TabHost,特别适合初学者和教学场景,例如构建一个模拟...

    Android studio TabHost布局

    在Android应用开发中,TabHost是一个非常重要的组件,它用于创建多标签的用户界面,使得用户可以在不同的功能之间轻松切换。本文将详细讲解如何在Android Studio中使用TabHost进行布局设计,以及如何自定义TabHost的...

    android 滑动的tabhost

    在Android应用开发中,TabHost是一个非常重要的组件,它用于创建多标签的界面,使得用户可以在不同的视图间切换。"android 滑动的tabhost"是指将传统的TabHost与手势滑动结合,实现更流畅、更具互动性的用户体验。在...

    android的自定义TabHost

    在Android开发中,TabHost是一个非常重要的组件,用于创建具有多个可切换标签的用户界面,类似于许多移动应用顶部常见的选项卡。本篇文章将深入探讨如何在Android中自定义TabHost,以实现美观且功能丰富的界面。 ...

    andorid中TabHost的使用

    开发过程中,可以借助Android Studio的布局预览功能查看TabHost的效果,同时利用调试工具检查运行时的TabHost状态,以便找出潜在问题。 总结,TabHost是构建多标签界面的关键组件,掌握其使用方法对于开发高效、...

    android自定义TabHost

    在Android开发中,TabHost是一个非常重要的组件,用于创建具有多个选项卡的界面,每个选项卡可以展示不同的内容。在传统的TabHost使用中,我们通常只能使用系统预设的样式和颜色,但为了使应用更加个性化,开发者...

    android TabHost简单使用

    在Android开发中,TabHost是一个非常实用的组件,它允许我们创建带有多个选项卡的应用界面,每个选项卡可以展示不同的内容或活动。本篇文章将详细介绍如何在Android项目中使用TabHost,以及它的工作原理。 首先,...

    android的tabhost的一个例子

    在Android开发中,TabHost是一个非常重要的组件,用于创建具有多个选项卡的用户界面,每个选项卡都可以承载不同的Activity或View。在这个例子中,我们将会深入理解如何使用TabHost、ActivityGroup以及源码分析,来...

    android Tabhost使用Demo

    在Android开发中,TabHost是一个非常重要的组件,用于创建具有多个Tab标签的界面,每个标签页可以承载不同的活动(Activity)或视图。本Demo主要展示了如何在Android应用中使用TabHost来构建一个多标签的用户界面。...

    android TabHost自定义选项卡

    在Android应用开发中,TabHost是一个非常重要的组件,它允许我们创建带有多个选项卡的应用界面。这个组件在早期的Android版本中广泛使用,为用户提供了一种便捷的方式来组织和切换不同的视图或活动。本文将深入探讨...

    Android代码,TabHost+Fragment实现多标签页,可滑动切换

    1. **TabHost**: TabHost是Android中用于创建带有标签栏的布局的组件。它允许你在不同标签之间切换内容。然而,由于API 13后被弃用,我们不再直接使用它,而是通过其他方式模拟其功能。 2. **Fragment**: Fragment...

Global site tag (gtag.js) - Google Analytics