本文转载自: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"?>
android:id="@android:id/tabhost"
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent" android:layout_height="fill_parent">
   
        @android:id/tabs" android:layout_height="wrap_content" android:layout_width="fill_parent">
       

        @android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent">
       
   

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

更多相关文章

  1. 为Android应用程序添加两个入口
  2. 点击LinearLayout使用selector改变TextView字体颜色
  3. Android中使EditText失去焦点,edittext禁止弹出键盘
  4. 编写android jni代码时遇到的问题
  5. 为Android应用程序添加两个入口
  6. Android添加垂直滚动ScrollView
  7. 使用Android(安卓)Studio调试smail源码
  8. Android(安卓)studio 3.1.4 无法获取pom文件
  9. 上官网学android之二(Building your First APP)

随机推荐

  1. MySQL数据库优化之分表分库操作实例详解
  2. MySQL主从复制与读写分离原理及用法详解
  3. mysql安装忘记初始密码简单有效的解决方
  4. 如何更改Linux(CentOS)系统下的MySQL数据
  5. mysql数据库基础知识点与操作小结
  6. CentOs7 64位 mysql 5.6.40源码安装过程
  7. Linux下二进制方式安装mysql5.7版本和系
  8. MySQL5.7慢查询日志时间与系统时间差8小
  9. 详解mysql8.018在linux上安装与配置过程
  10. 集群rpm安装MySQL步骤详解