Android上下TabHost设置及Did you forget to call 'public void setup(LocalActivityManager activityGroup)解决方

LocalActivityManager说明 及 Activity的onResume不被执行问题 LocalActivityManager类概述 Helper class for managing multiple running embedded activities in the same process. This class is not normally used directly, but rather created for you as part of theActivity 阅读详情

先来一张效果图:

效果图

下面是xml文件:

首先是第一个activity_main.xml,实现tab在下面的效果:

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent" >  
  5.   
  6.     <TabHost  
  7.         android:id="@+id/maintabhost"  
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="match_parent"  
  10.         android:layout_alignParentLeft="true"  
  11.         android:layout_centerVertical="true" >  
  12.   
  13.         <LinearLayout  
  14.             android:layout_width="match_parent"  
  15.             android:layout_height="match_parent"  
  16.             android:orientation="vertical" >  
  17.             <!-- 此处FrameLayout和TabWidget的位置注意一下,TabWidget在FrameLayout之下,并且FrameLayout要设置一下权重这个属性 android:layout_weight="1" 这样才能实现tab在下面的效果 -->  
  18.             <FrameLayout  
  19.                 android:id="@android:id/tabcontent"  
  20.                 android:layout_width="fill_parent"  
  21.                 android:layout_height="0dip"  
  22.                 android:layout_weight="1" >  
  23.             </FrameLayout>  
  24.   
  25.             <TabWidget  
  26.                 android:id="@android:id/tabs"  
  27.                 android:layout_width="fill_parent"  
  28.                 android:layout_height="wrap_content" >  
  29.             </TabWidget>  
  30.         </LinearLayout>  
  31.     </TabHost>  
  32.   
  33. </RelativeLayout>  


下面是主Activity:

 我这里继承ActivityGroup而不是继承Activity,是因为我在写代码的时候报了如下的异常:  java.lang.IllegalStateException: Did you forget to call 'public void setup(LocalActivityManager activityGroup)'? ,代码里有我解决方法(也就是继承ActivityGroup,再加上一行代码就行),你也可以先继承Activity看看会不会报这个异常,如果报了的话再改成这个。

  1. public class WeiBoActivity extends ActivityGroup {  
  2.   
  3.     private TabHost mTabHost = null;  
  4.   
  5.     @Override  
  6.     public void onCreate(Bundle savedInstanceState) {  
  7.         super.onCreate(savedInstanceState);  
  8.         requestWindowFeature(Window.FEATURE_NO_TITLE);  
  9.         setContentView(R.layout.weibo_main);  
  10.                   
  11.         mTabHost = (TabHost) findViewById(R.id.maintabhost);  
  12.         mTabHost.setup();  
  13.           
  14.         // 此处是我解决异常加的一行代码,如果继承Activity的话可将此行注释  
  15.         mTabHost.setup(this.getLocalActivityManager());  
  16.           
  17.         mTabHost.addTab(mTabHost.newTabSpec("t1").setIndicator("首页")  
  18.                 .setContent(R.id.tab1));  
  19.         mTabHost.addTab(mTabHost.newTabSpec("t2").setIndicator("消息")  
  20.                 .setContent(new Intent(this, MessageActivity.class)));  
  21.         mTabHost.addTab(mTabHost.newTabSpec("t3").setIndicator("好友")  
  22.                 .setContent(R.id.tab3));  
  23.         mTabHost.addTab(mTabHost.newTabSpec("t4").setIndicator("广场")  
  24.                 .setContent(R.id.tab4));  
  25.   
  26.     }  
  27.   
  28. }  

下面是跳转界面的weibo_message.xml:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.     <!-- 此处TabHost的id自已定义 -->  
  7.     <TabHost  
  8.         android:id="@+id/msgstabhost"  
  9.         android:layout_width="match_parent"  
  10.         android:layout_height="match_parent" >  
  11.   
  12.         <LinearLayout  
  13.             android:layout_width="match_parent"  
  14.             android:layout_height="match_parent"  
  15.             android:orientation="vertical" >  
  16.   
  17.             <TabWidget  
  18.                 android:id="@android:id/tabs"  
  19.                 android:layout_width="match_parent"  
  20.                 android:layout_height="wrap_content" >  
  21.             </TabWidget>  
  22.   
  23.             <FrameLayout  
  24.                 android:id="@android:id/tabcontent"  
  25.                 android:layout_width="match_parent"  
  26.                 android:layout_height="match_parent" >  
  27.             </FrameLayout>  
  28.         </LinearLayout>  
  29.     </TabHost>  
  30.   
  31. </LinearLayout>  


下面是跳转的Activity,依然继承ActivityGroup:

  1. public class MessageActivity extends ActivityGroup {  
  2.   
  3.     private TabHost mTabHostMsg;  
  4.   
  5.     @Override  
  6.     protected void onCreate(Bundle savedInstanceState) {  
  7.         // TODO Auto-generated method stub  
  8.         super.onCreate(savedInstanceState);  
  9.         setContentView(R.layout.weibo_message);  
  10.   
  11.         mTabHostMsg = (TabHost) this.findViewById(R.id.msgstabhost);  
  12.         mTabHostMsg.setup();  
  13.           
  14.         mTabHostMsg.setup(this.getLocalActivityManager());  
  15.           
  16.         mTabHostMsg.addTab(mTabHostMsg.newTabSpec("t5").setIndicator("系统消息")  
  17.                 .setContent(R.id.msgtab5));  
  18.         mTabHostMsg.addTab(mTabHostMsg.newTabSpec("t6").setIndicator("评论")  
  19.                 .setContent(R.id.msgtab6));  
  20.         mTabHostMsg.addTab(mTabHostMsg.newTabSpec("t7").setIndicator("私信")  
  21.                 .setContent(R.id.msgtab7));  
  22.     }  
  23.   
  24. } 

http://blog.youkuaiyun.com/zhenglingkun/article/details/8261068

掌握Android中ActivityGroup的菜单实现与迁移至Fragment 本文还有配套的精品资源,点击获取 简介:在Android早期版本中, ActivityGroup 用于管理和展示多个子Activity,形成多级菜单效果。但自Android 3.0起, ActivityGroup 已废弃,被 Fragment 和 FragmentManager 所取代,后者提供更强大的界面构建方式。尽... 阅读详情

相关推荐

将一个activity转换成一个view并显示

LocalActivityManager类是管理activity的,然后通过startActivity(String id, Intent intent)这个方法获取Window获取当前Window对象,再然后调用getDecorView()方法获取当前activity对应的view,这样就可以使用addView(View child)方法添加到activity中。

Android上下TabHost设置及Did you forget to call 'public void setup(LocalActivityManager activityGroup)解决方法

如果用系统默认的tabhost时,即(TabHost)findViewById(android.R.id.tabhost); 红色部分为android系统自带的样式,直接用getTabhost()初始化,整个类继承tabActivity。 如果使用自己定义的id时,必须使用findViewById(R.id.tabhostname);tabhostname.setup()或者setup(

lixue9185的博客 1618

国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

java.lang.IllegalStateException: Did you forget to call 'public void setup(LocalActivityManager acti

在使用TabHost时有时出现Did you forget to call 'public voidsetup(LocalActivityManageractivityGroup),主要是没有继承ActivityGroup和获得ActivityManager 解决方案 主页面继承ActivityGroup,或者 而不是 activity 加入 activitytabHost.setup(

a2855090的专栏 2014

网闸的基本配置

本文详细介绍了网闸的基本配置流程,包括物理连接与初始化、网络基础配置、核心数据交换策略配置、安全增强配置、管理与运维以及测试验证等关键步骤。网闸通过在物理隔离环境下建立"数据摆渡通道",实现特定业务数据的安全交换。配置时应遵循最小化、单向化、内容控制和审计原则,确保只开放必要通道,优先采用单向传输,进行内容安全检查并记录操作日志。不同厂商网闸的配置界面可能不同,但核心逻辑是相通的。

qq_39980997的博客 1840

从开通VPS到搭建宝塔面板全教程

你在输入域名(此时我们可能没有类似aaa.com这样的域名,所以要输入VPS的IP地址)的时候,下面的根目录也会跟着变动,等输入完成后,你可以把根目录再改回成/www/wwwroot/dq。这时,在你的浏览器中,输入外网面板地址的URL,输入username和password,即可登陆宝塔面板。第一次登陆,需要绑定你的宝塔账号,你可以到宝塔的注册界面,用手机注册一个,然后绑定,首先看一下你的VPS操作系统是什么类型的(其实你在选择VPS的时候,就已经选定了,我选择的事Centos系统)。

kxltsuperr的专栏 3734

LocalActivityManager

1.LocalActivityManager的说明LocalActivityManager是Android封装的把activity转换成view对象的一个api. 2.LocalActivityManager用法LocalActivityManager类是管理activity的,然后通过startActivity(String id,Intent intent)这个方法获取Window获取当前Win

SpRcorder的博客 1252

高校学籍管理系统(SQL Server数据库课程设计)

摘要: 高校的管理工作是一项复杂且系统化的工作。而随着当代社会积极响应国家“科教兴国”的战略。高校建设规模和招生人数每年均高不下,庞大的学生群体对高校的管理工作带来了巨大的挑战。而对学生的学籍管理工作更是高校管理工作的一个重要环节。 面对高校学生学籍信息如此庞大的数据群,如采用传统的管理模式,管理工作的效率不仅低下,而且数据错误的发生率相对较高,还会产生人力和物力上的巨大开支。面对这样的情况,开发一个高校学籍管理系统就显得尤为重要。 运用高校学籍管理系统可以大大提高高校管理工作效率、方便系统维护、减小开支、

qq_52030824的博客 7万+

过时api-Android LocalActivityManager的用法

1.前言今天碰到一个问题,我的一个activity需要加载别人的另外一个activity,可能你会说用fragment嘛,但是我们两个属于不同的业务部门,各自平行开发,他不可能单独为了写个fragment,但是我要显示他activity的内容,这时就用到了LocalActivityManager类。2.使用步骤1)在我的activity中初始化一个父容器LinearLayout linear= (L

曹银飞的专栏 9685

流体仿真软件:COMSOL Multiphysics二次开发_(3).流体仿真基础理论

流体仿真基础理论包括流体的基本性质、流体运动方程、边界条件、初始条件、湍流模型和网格生成等。在使用COMSOL Multiphysics进行流体仿真时,正确设置这些参数和条件是获得准确仿真结果的关键。通过实际应用案例,可以更好地理解如何在COMSOL中进行流体仿真,并提取和分析仿真结果。希望本文对流体仿真初学者和从业人员有所帮助。

kkchenjj的博客 1341

泛微OA提交流程到下一个节点

泛微OA后端接口强制流程归档

CXYCMY的博客 2246

Android上下TabHost设置及Did you forget to call 'public void setup(LocalActivityManager activityGroup)解决方法...

先来一张效果图: 下面是xml文件: 首先是第一个activity_main.xml,实现tab在下面的效果: &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" andr...

mmdev 189

Python DEAP 库深度解析:从基础架构到高级应用

DEAP 是一个基于 Python 的开源框架,专门用于实现和运行各种进化算法,旨在帮助用户轻松地构建和调整进化算法,用于解决各种优化和搜索问题。本节中,介绍了 DEAP 相较于其它进化计算框架的优势,以及 DEAP 中重要的工具 creator 和 Toolbox。

盼小辉丶的博客 5077

Android上下TabHost设置及Did you forget to call 'public void setup(LocalActivityManage

先来一张效果图: 下面是xml文件: 首先是第一个activity_main.xml,实现tab在下面的效果: [html] view plaincopy   &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"       xmlns:tools="http...

学习笔记 95

Vue3 - 最新实现在线预览Excel文件(xls/xlsx)多种方案,解析打开excel电子表格支持服务器链接在线URL形式、调用后端接口获取二进制文件流、文件地址(vue3实现excel预览)

vue3,预览excel文件,xlsx,xls,vue预览Excel表格,vue在线编辑xls文件,预览和编辑,vue3如何新开一页浏览器打开查看,手机h5页面打开在线EXCEL文档,在弹框中加载预览,在指定模态框中显示,基于Vue的Excel文件预览,加载失败白屏,报错没反应,详细示例代码教程,文件预览下载,nuxt3,excel预览插件,xlsx插件预览,纯前端vue中预览excel表格,接口调用的文件如何预览查看,文件url地址,vue移动端实现excel在线预览,vue移动端H5网页excel预览,

🏆 前端领域优质创作者 1万+

SAP GR(Group Reporting)合并报表内容及功能简介(五)-合并和抵消

随着合并和收购数量的显著增加,企业在全球经济中面临着诸多挑战。其中最常见的是法律实体与子公司之间缺乏透明度,导致无法以经济高效的方式对账法律实体与子公司之间的公司间交易,从而造成结算出现重大延迟。公司间匹配和对账功能允许用户在关账过程中进行早期分析,以避免公司间差异,并缩短关账时的延迟。公司间匹配和对账功能交易级别匹配和实时对账基于各种组织维度(如公司、利润中心和合并单位)的灵活建模自动差异解决。应用内通信和工作流。与公司间抵销集成。

weixin_43853754的博客 4400

ActivityGroup,Activity,TabHost注意问题,2021最新Android面试题目解答

Bundle b 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》 【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享 undle = new Bundle(); bundle.putSerializable(“pollingRequestvo”, pollingRequestvo); bundle.putInt(“type”, type); intent.putExtras(bundle); Holder.viewSwitche

m0_64319298的博客 537

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

android点滴24:使用TabHost时各种蛋疼的错误

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34051201的博客 170

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

android Tabhost部件(一)

本文结合源代码和实例来说明TabHost的用法。 使用TabHost 可以在一个屏幕间进行不同版面的切换,例如android自带的拨号应用,截图: 查看tabhost的源代码,主要实例变量有: 1 2 3 private TabWidget mTabWidget; private FrameLayout mTabCon

09的专栏 592

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

LocalActivityManager的内部机制详解

LocalActivityManager的内部机制 LocalActivityManager内部机制的核心在于,它使用了主线程对象mActivityThread来装载指定的Activity。注意,这里是装载,而不是启动,这点很重要。   所谓的启动,一般是指会创建一个进程(如果所在应用进程还不存在)运行该Activity,而装载仅仅是指把该Activity作为一个普通类进行加载,并创建一个...

iteye_1576的博客 628

LocalActivityManager如何在一个Activity的一部分中显示其他Activity

首先要使用该方法,页面必须继承ActivityGroup。 总的来说,实现“如何在一个Activity的一部分中显示其他Activity”除了LocalActivityManager还需要一个或多个"容器"Layout(或者和Layout同级别的View)。   假设这个容器是一个LinearLayout,id是container,通常来说我们会想把这个容器的layout_weight设置成...

yxwang0615的专栏 596

LocalActivityManager详解

1.LocalActivityManager的说明 LocalActivityManager是Android封装的把activity转换成view对象的一个api. 2.LocalActivityManager用法 LocalActivityManager类是管理activity的,然后通过startActivity(String id,Intent intent)这个方法获...

weixin_33709590的博客 194

在Activity中使用LocalActivityManager

最近自己在项目时候,是这样的,我们可能很多对ViewPager并不陌生,viewPager大部分是加载多个view,而我这项目是viewpager加载多个activity,那么就要把activity转换成view对象,Android已经给我们封装了api,LocalActivityManager类是管理activity的,然后通过startActivity(String id,Intent int

qq_17614015的专栏 436

Android LocalActivityManager的用法

Android LocalActivityManager的用法   在开发中会碰到在一个activity中的局部(或者是activity的Fragment中)显示其他的activity 的内容,这时就用到了LocalActivityManager类。   假设这个容器是一个LinearLayout,id是linearContainer, Activity中获取视图:           L...

weixin_30646505的博客 400
上一篇: 记下一个比较特殊的布局用法
下一篇: Android开发:解决android:gravity不能居中问题
爽玩一百天
博客等级 码龄14年 20粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值