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(LocalActivityManager   activityGroup)

如果后面使用 setContent(android.content.Intent)即setContent参数是一个实例化的Intent时,必须使用setup(LocalActivityManager activityGroup),而对应的整个类必须继承ActivityGroup,使用setup()时,整个类继承的是Activity。

在使用TabHost时有时出现Did you forget to call 'public void setup(LocalActivityManager activityGroup),主要是没有继承ActivityGroup和获得ActivityManager。

解决方法
Activity继承ActivityGroup,并获得ActivityManager。代码如下:

public class TabActivity extends ActivityGroup{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_main);
mTabHost = (TabHost) findViewById(R.id.tabhost);
mTabHost.setup();
mTabHost.setup(this.getLocalActivityManager());
}

对于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




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值