android开发之TabActivity
TabActivity,顾名思义就是提供了一个具有多个Tab的activity。类似于android的拨号界面。
项目中用到了TabActivity,结果带来了一些烦恼。
首先是在TabActivity中嵌入3个ListActivity,发现不够用,其中一个需要作成折叠列表,于是引入了 ExpandableListView,结果引发了悲剧。屏幕旋转时崩溃。
经过Google发现,是android的一个BUG,因为 ExpandableListView 使用了ListView相同的资源ID,所以在使用TabActivity的时候,如果同时使用了 ListActivity 和 ExpandableListView, 就会在旋转屏幕后载入资源时发生ClasscastException。原因找到了。解决的办法有很多种,有位大哥重写了一个ListActivity以解决此问题。不过我的办法是 避免同时使用ExpandableListView 和 ListActivity。毕竟ListActivity可以通过自己写一个ListView来实现。在2.1-update1下运行通过。
在查找问题解决方法时,也看到一些回应说,尽量不要用TabActivity,看来TabActivity有点儿讨人嫌的意思。
参考,
1.http://code.google.com/p/android/issues/detail?id=2732 这里有详细的记录和ExpandableListView 专用的ListActivity源码,我没有测试过。
分享到:
相关推荐
本文实例讲述了Android开发之TabActivity用法。分享给大家供大家参考,具体如下: 一.简介 TabActivity继承自Activity,目的是让同一界面容纳更多的内容。TabActivity实现标签页的功能,通过导航栏对各个页面进行管理...
Android TabActivity 开发案例,本案例着重介绍用TabActivity 开发安卓分页架构
系统自带的TabActivity的效果不甚理想。开发中对TabActivity自定义可能有两种:第一种:改变TAB行的位置,如放到页面下方。第二种:对TabHost图片的自定义
在Android中,TabActivity类中没有与Menu有关的方法,所以如果单独使用TabActivity进行开发时,是无法创建菜单项的。为了给Tab增加菜单,有如下两种方法: 1. 主事件继承Activity。这样就可以在主事件中直接重写...
本文实例讲述了Android选项卡功能的实现方法。分享给大家供大家参考,具体如下: 选项卡(TabHost)方便的在...import android.app.TabActivity; import android.content.Intent; import android.content.res.Resour
这必将使得阅读本书的读者少走弯路,快速上手,从而建立学习Android开发的信心。本书配带1张光盘,收录了重点内容的教学视频(8.7小时多媒体教学视频)和本书涉及的所有源代码。 目录: 第1篇入门必备 第1章初识...
这必将使得阅读本书的读者少走弯路,快速上手,从而建立学习Android开发的信心。本书配带1张光盘,收录了重点内容的教学视频(8.7小时多媒体教学视频)和本书涉及的所有源代码。 目录: 第1篇入门必备 第1章初识...
Tab与TabHost: 这就是Tab,而盛放Tab的容器就是TabHost 。 如何实现?? 每一个Tab还对应了一个布局,这个就有点好玩了。...import android.app.TabActivity; public class MyTab extends TabActivity {
江 西 理 工 大 学 江 西 理 工 大 学 Android平台开发基础 实验报告 实验名称 实验四AndroidSQLite数据库应用 日期 2016-05-14 专业班级 计算机133班 地点 信息学院M601 实验人 学号 12 同组人 单独完成 实验目的 ...
继承TabActivity并以activity布局 先查看下最终效果图: 再看下代码结构: 其中black.gif顾名思义就是一个黑背景图片,grey.gif就是一张灰色的背景图片 然后直接上代码: ArtistActivity.java package ...
## 系统开发环境: Myclipse/Eclipse/Idea都可以(服务器端) + Eclipse/AndroidStudio都可以(手机客户端) + mysql数据库 ## 系统客户端和服务器端架构技术: 界面层,业务逻辑层,数据层3层分离技术,MVC设计思想! ## ...
## 系统开发环境: Myclipse/Eclipse/Idea都可以(服务器端) + Eclipse/AndroidStudio都可以(手机客户端) + mysql数据库 ## 系统客户端和服务器端架构技术: 界面层,业务逻辑层,数据层3层分离技术,MVC设计思想! ## ...
系统开发环境支持Myclipse/Eclipse/Idea(服务器端)以及Eclipse/AndroidStudio(手机客户端),并选用mysql数据库。系统采用三层分离技术,即界面层、业务逻辑层和数据层,并遵循MVC设计思想。服务器与客户端间的...
系统开发环境: Myclipse/Eclipse/Idea都可以(服务器端) + Eclipse/AndroidStudio都可以(手机客户端) + mysql数据库 系统客户端和服务器端架构技术: 界面层,业务逻辑层,数据层3层分离技术,MVC设计思想! 服务器和...
import android.app.TabActivity; import android.content.Intent; import android.os.Bundle; import android.widget.*; import android.widget.TabHost.OnTabChangeListener; import android.os.Build; import ...
这里就跳过Fragment的介绍,需要注意的是TabActivity已经被标记为弃用(deprecated)。 正文 一、准备 关于最新的Android兼容包的介绍,参见官网。可以在android sdk目录下extras/android/support/v13/android-...
在Android程序中很多客户端软件和浏览器软件都喜欢用Tab分页标签来搭建界面框架。读者也许会马上想到使用TabHost 与 TabActivity的组合,其实最常用的不是它们,而是由GridView与ActivityGroup的组合。每当用户在...
## 系统开发环境: Myclipse/Eclipse/Idea都可以(服务器端) + Eclipse/AndroidStudio都可以(手机客户端) + mysql数据库 ## 系统客户端和服务器端架构技术: 界面层,业务逻辑层,数据层3层分离技术,MVC设计思想! ## ...