`
- 浏览:
396987 次
- 性别:
- 来自:
武汉
-
前面用继承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。所以没有问题。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
android tabhost 动态添加 删除 排序 重命名
android tabhost 动态添加,删除,排序,重命名
android tabhost 动态添加,删除,排序,重命名(3)
android tabhost 动态添加,删除,排序,重命名
android tabhost 动态添加 删除 排序 重命名
android tabhost 动态添加,删除,排序,重命名(2):数据库操作
4. 添加内容:通过`tabSpec.setIndicator("标签名", indicatorDrawable);`设置标签指示器,`tabSpec.setContent(intent);`设置点击标签时要启动的Intent。 5. 添加并显示标签:使用`tabHost.addTab(tabSpec);`将标签...
在Android开发中,TabHost是一个非常实用的组件,它允许我们创建带有多个选项卡的应用界面,每个选项卡可以展示不同的内容或活动。本篇文章将详细介绍如何在Android项目中使用TabHost,以及它的工作原理。 首先,...
在代码中,我们需要通过TabHost的`setup()`方法初始化TabHost,然后通过`addTab()`方法为每个Tab添加内容。每个Tab的内容可以是单独的Activity,也可以是Fragment。 示例代码: ```java TabHost tabHost = ...
在Android开发中,`TabHost`、`Spinner`和`ListView`是三个非常重要的组件,它们各自承担着不同的功能,并且可以协同工作以提供丰富的用户界面。`TabHost`用于创建多标签界面,`Spinner`则是一种下拉选择菜单,而`...
在Android应用开发中,`TabHost` 是一个非常重要的组件,它用于实现多标签页的界面切换,类似于微信、QQ等...在实际开发中,根据项目需求,可能还需要添加更多的功能,如自定义 `Tab` 样式、动态加载 `Tab` 内容等。
总结来说,自定义Android的TabHost可以使应用的界面更加个性化,同时通过合理利用Fragment可以优化性能。在实际开发中,还可以根据需求调整选项卡的行为,比如添加滑动效果、动画等。通过掌握这些技巧,你可以在...
总结起来,这个项目涉及了Android的TabHost组件、日期处理和界面交互等多个知识点,开发者通过TabHost实现了四个独立的界面,每个界面都具备日期显示和操作的功能。在实际的开发过程中,需要熟练掌握Android UI设计...
在Android开发中,TabHost是一个非常重要的组件,用于创建具有多个Tab标签的界面,每个标签页可以关联一个单独的活动(Activity)或者帧布局(FrameLayout)。本实例演示了如何在Android应用程序中自定义TabHost,以...
总结起来,Android的TabHost是一个强大的工具,用于构建带有多个Tab的用户界面。通过设置TabWidget和FrameLayout,以及使用TabSpec来管理每个Tab的内容,我们可以轻松地创建出功能丰富的多视图应用。尽管现代Android...
总结,TabHost在Android应用中提供了方便的多标签导航功能。通过设置TabSpec、初始化TabHost、添加Tab以及自定义样式,开发者可以轻松地构建出功能丰富的界面。理解TabHost的源码也有助于深入掌握其工作机制,从而更...
在`onCreate()`方法中,我们可以加载布局文件,获取TabHost对象,并添加标签: ```java TabHost tabHost = (TabHost) findViewById(android.R.id.tabhost); tabHost.setup(); TabSpec tab1 = tabHost.newTabSpec(...
接着,使用`addTab()`方法为每个标签添加内容,通常包括标签的标题、图标和对应的Activity或布局。例如: ```java TabHost tabHost = (TabHost) findViewById(R.id.tabhost); tabHost.setup(); Intent intent1 = ...
在Android开发中,TabHost是一个非常重要的组件,用于创建具有多个选项卡的界面,每个选项卡可以展示不同的内容。在传统的TabHost使用中,我们通常只能使用系统预设的样式和颜色,但为了使应用更加个性化,开发者...