今天讲一下,如何在TabHost中,再放TabHost。
先来看一下效果。
一层TabHost
两层Tabhost (内部TabHots在上面)
两层TabHost (内层TabHots在下面)
下面说一下代码,一共3个 java类,3个xml布局文件。
看一下主画面:
main.xml
就是常规的Tabhost布局。
入口类:
DoubleTabHost.java
对于TabHost、布局文件中必须包含TabHost、TabWidget 、FrameLayout .缺一不可
如果加载该TabHost画面的类继承TabActivity,并且想通过getTabHost()方法来获取TabHost,getTabWidget()方法获取TabWidget,
那么TabHost、TabWidget 、FrameLayout三者的ID必须是android.R.id.tabhost、android.R.id.tabs、android.R.id.tabcontent
否则会报运行时异常,错误如下:
TabHost ID错误:
TabWidget ID 错误:
FrameLayout ID错误:
子TabHost页面:
subtab.xml
子TabHost页面加载类:
SubTab.java
如果加载TabHost画面的继承自Activity,可以通过findViewById来获取这三个组件,此时ID可自定义。
需要注意的是,此时必须调用setup方法来加载TabHost。
对了,不要忘了在AndroidManifest.xml定义Activity~~呵呵!
要点就这么多~ 就这样了。
源码我会上传,地址稍后给出。
源程序下载地址: http://download.csdn.net/source/3037680
BUG对应。 感谢simayilong和gz116提出这两个典型问题。
问题一:无法在子tabhost中打开Activity。
解决办法1:
1. 将初始化tabHost的那个类(此例中为SubTab类),继承ActivityGroup,而不是Activity
2. tabhost.setup() 改为tabHost.setup(this.getLocalActivityManager());
具体参考:
http://stackoverflow.com/questions/3272500/android-exception-did-you-forget-to-call-public-void-setup-localactivitymanage
http://hi.baidu.com/ljlkings/blog/item/47f1afdbdcd27de638012f76.html
解决办法2:
也可以将SubTab类改继承TabActivity,然后布局文件中Tabhost的id改为@android:id/tabhost.
因为TabActivity也是继承自ActivitGroup的。
以上两种方法都可以。
问题二: TabHost 嵌套后,Dialog 不能显示
解决办法:
AlertDialog.Builder(xxx.this) =>AlertDialog.Builder(xxx.this.getParent())
分享到:
相关推荐
Android 嵌套TabHost示例. 两层TabHost嵌套,实现的效果类似网页上的二级菜单栏。
Android fragment 内部嵌套tabhost组件 详情请见: http://blog.csdn.net/singleton1900/article/details/27087833
tabhost中嵌套一个tabhost。
安卓Android源码——嵌套TabHost示例.zip
Android 嵌套TabHost示例.zip
Android 嵌套TabHost示例.zip源码资源下载Android 嵌套TabHost示例.zip源码资源下载
TabHost 嵌套 子Tab里面也有自己的TabHost 刚做的 0积分分享
Android 嵌套TabHost示例.zip项目安卓应用源码下载Android 嵌套TabHost示例.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
Android应用源码之嵌套TabHost示例.zip
Android TabHost嵌套示例,像电脑端一样在屏幕上显示上下嵌套的TAB效果,单击后切换内容,在内容页上又重新显示二级的TAB,实现嵌套,如示例图所示,注意:对于TabHost、布局文件中必须包含: TabHost、TabWidget ...
Android应用源码之嵌套TabHost示例.zip项目安卓应用源码下载Android应用源码之嵌套TabHost示例.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
tabhost 嵌套tabhost, 很简单的demo
安卓Android源码——精典源码之嵌套TabHost示例.zip
源码参考,欢迎下载
Android TabHost ListView初学者的实例代码
安卓开发-嵌套TabHost示例.zip.zip
1、底部tabhost嵌套顶部tabhost. 2、顶部tabhost,嵌套listview。 3、顶部tabhost子tab选项仿网易新闻功能,可以滑动,每一个对应一个listvie