首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TabActivity子未加载

TabActivity子未加载
EN

Stack Overflow用户
提问于 2014-04-02 09:06:03
回答 1查看 107关注 0票数 1

我在我的安卓应用程序中实现了TabActivity。在第一次加载活动并单击第二个选项卡加载活动时,例如第二个选项卡上的activity2,第二个选项卡中的=>,在单击网格视图事件时,我使用下面的代码打开第二个选项卡上的子activity23:

代码语言:javascript
复制
Intent intent=new Intent(activity2.this, activity23.class);

TabGroupActivity parentActivity = (TabGroupActivity)getParent();
parentActivity.startChildActivity("activity23", intent);

当我从activity23返回(完成)到activity2时,我再次单击grideview转到activity23,然后它不会启动子活动。我测试了各种设计,它的工作原理,除了android2.3.3外,都设计得很好。根据我的测试,这个问题只出现在2.3.3和2.3.6设计中。

调试后,我发现TabGroupActivity=> StartChildActivity()的函数如下所示

代码语言:javascript
复制
public void startChildActivity(String Id, Intent intent) {     

窗口= etLocalActivityManager().startActivity(Id,etLocalActivityManager if (window != null) { mIdList.add(Id);setContentView(window.getDecorView());}

代码语言:javascript
复制
 }

这里,在android 2.3.3中,窗口对象第一次获得null,但是如果我们完成子对象并再次启动相同的子对象来启动,那么窗口对象就变成null,所以它不是load子活动。

如果有人有任何解决这个问题的想法,那么最受欢迎的是,如果任何人都有完整的tabView代码,用于所有安卓系统,那么最受欢迎的是上面的2.2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-04 06:09:06

我解决了这个问题,当我在TabGroupActivity中启动子活动时,将随机数作为唯一id传递,下面是解决方案的代码

代码语言:javascript
复制
Intent intent=new Intent(activity2.this,activity23.class);
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
parentActivity.startChildActivity((new Random().nextInt(90)+11)+"", intent);

我们必须传递唯一的时候,当我们创建新的意图,以推动标签。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22806499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档