`

Android TabHost动态加载内容总结

 
阅读更多

前面用继承TabActivity的方法很好的完成了,TabHost的使用,和内容的动态加载。 

业务需要,Tab的tab是可变的,用户可以选择要显示出来的tab页面,而且要求,现在后马上能够在UI上体现。 

1,判断用户的选择,在onResum里处理,直接加用addTab加到TabHost里。 
运行之后,才发现这种做法是多么的愚蠢。每次选择,就会把现在选择状态的tab加到原来TabHost里,取消选择的却没有消失。 
2.仍然在onResum做,在addTab之前用clearAllTabs(),清除以前的所有tab。 
运行后,发现有时可以,有时程序会崩溃掉。诡异的是,错误并不是发生在onResume里,因为它正常结束了。 
仔细分析Log后,发现是getCurrentTab时出了错,而这个方法是由系统调用的。 
修改办法,可以覆盖它,只是这样会比较麻烦。 
3.纠结1个小时后,想到问题的关系所在。 就是currentTab这个成员出了问题。clear后,它没有变,系统再去取的时候就出了错。 
毅然决定在clear之前,用setCurentTab(0)来定位到第一个。 
4.OK。 
经过数小时的奋斗,问题终于解决了,继续看我的电影,O(∩_∩)O~ 


注:
setCurentTab(0)这样做其实是有问题的,因为有可能一个tab都没有。 
只是,我们的业务里,如果用户一个tab都没有选的话,会有一他提示的tab。所以没有问题。
 

分享到:
评论

相关推荐

    android tabhost 动态添加 删除 排序 重命名

    android tabhost 动态添加 删除 排序 重命名

    android tabhost 动态添加,删除,排序,重命名(1)

    android tabhost 动态添加,删除,排序,重命名

    android tabhost 动态添加,删除,排序,重命名(3)

    android tabhost 动态添加,删除,排序,重命名(3)

    android tabhost 动态添加,删除,排序,重命名(5)

    android tabhost 动态添加,删除,排序,重命名

    android tabhost 动态添加 删除 排序 重命名 c

    android tabhost 动态添加 删除 排序 重命名

    android tabhost 动态添加,删除,排序,重命名(2)

    android tabhost 动态添加,删除,排序,重命名(2):数据库操作

    Android 嵌套TabHost示例

    4. 添加内容:通过`tabSpec.setIndicator("标签名", indicatorDrawable);`设置标签指示器,`tabSpec.setContent(intent);`设置点击标签时要启动的Intent。 5. 添加并显示标签:使用`tabHost.addTab(tabSpec);`将标签...

    android TabHost简单使用

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

    android Tabhost使用Demo

    在代码中,我们需要通过TabHost的`setup()`方法初始化TabHost,然后通过`addTab()`方法为每个Tab添加内容。每个Tab的内容可以是单独的Activity,也可以是Fragment。 示例代码: ```java TabHost tabHost = ...

    Android TabHost Spinner ListView 实例代码

    在Android开发中,`TabHost`、`Spinner`和`ListView`是三个非常重要的组件,它们各自承担着不同的功能,并且可以协同工作以提供丰富的用户界面。`TabHost`用于创建多标签界面,`Spinner`则是一种下拉选择菜单,而`...

    androidTabhost界面切换

    在Android应用开发中,`TabHost` 是一个非常重要的组件,它用于实现多标签页的界面切换,类似于微信、QQ等...在实际开发中,根据项目需求,可能还需要添加更多的功能,如自定义 `Tab` 样式、动态加载 `Tab` 内容等。

    android TabHost自定义选项卡

    总结来说,自定义Android的TabHost可以使应用的界面更加个性化,同时通过合理利用Fragment可以优化性能。在实际开发中,还可以根据需求调整选项卡的行为,比如添加滑动效果、动画等。通过掌握这些技巧,你可以在...

    android tabhost 日期

    总结起来,这个项目涉及了Android的TabHost组件、日期处理和界面交互等多个知识点,开发者通过TabHost实现了四个独立的界面,每个界面都具备日期显示和操作的功能。在实际的开发过程中,需要熟练掌握Android UI设计...

    Android Tabhost 实例demo

    在Android开发中,TabHost是一个非常重要的组件,用于创建具有多个Tab标签的界面,每个标签页可以关联一个单独的活动(Activity)或者帧布局(FrameLayout)。本实例演示了如何在Android应用程序中自定义TabHost,以...

    android TabHost(标签)的使用

    总结起来,Android的TabHost是一个强大的工具,用于构建带有多个Tab的用户界面。通过设置TabWidget和FrameLayout,以及使用TabSpec来管理每个Tab的内容,我们可以轻松地创建出功能丰富的多视图应用。尽管现代Android...

    android tabhost用法 源码

    总结,TabHost在Android应用中提供了方便的多标签导航功能。通过设置TabSpec、初始化TabHost、添加Tab以及自定义样式,开发者可以轻松地构建出功能丰富的界面。理解TabHost的源码也有助于深入掌握其工作机制,从而更...

    android Tabhost 实现底部菜单效果

    在`onCreate()`方法中,我们可以加载布局文件,获取TabHost对象,并添加标签: ```java TabHost tabHost = (TabHost) findViewById(android.R.id.tabhost); tabHost.setup(); TabSpec tab1 = tabHost.newTabSpec(...

    Android TabHost控件讲解

    接着,使用`addTab()`方法为每个标签添加内容,通常包括标签的标题、图标和对应的Activity或布局。例如: ```java TabHost tabHost = (TabHost) findViewById(R.id.tabhost); tabHost.setup(); Intent intent1 = ...

    android自定义TabHost

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

Global site tag (gtag.js) - Google Analytics