首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android tabactivity问题

Android tabactivity问题
EN

Stack Overflow用户
提问于 2010-03-27 01:17:32
回答 3查看 3.7K关注 0票数 0

我在让TabActivity工作时遇到了一些困难。下面是该类的实现:

代码语言:javascript
复制
public class Profile extends TabActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    final TabHost tabHost = getTabHost();


    if (tabHost.isEnabled()) {
     Log.e("profile", "enabled");
    }


    tabHost.addTab(tabHost.newTabSpec(getString(R.string.friendReqs))
            .setIndicator("requests")
            .setContent(new Intent(this, FriendRequests.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));

    tabHost.addTab(tabHost.newTabSpec(getString(R.string.friends))
            .setIndicator("photo list")
            .setContent(new Intent(this, Settings.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));
    Log.e("profile", "add tabs");
    tabHost.invalidate();

}
}

问题是,我从我的主活动(如果重要的话,这是一个MapActivity )调用这个类,并且当我这样做时,TabActivity不会显示。它记录了在选项菜单上的点击,甚至启动了意图,但屏幕没有change..it,只是停留在主要活动上,我在日志中看到主要活动恢复了。我这样称呼它:

代码语言:javascript
复制
Intent p = new Intent(this,Profile.class);
   p.putExtra(DBAdapter.KEY_USERID,userid);
   startActivity(p);

像I said...there是没有错误的(从标签中调用的类当然存在),只是没有动作。我将一些日志命令放入tabactivity的onCreate函数中(如您所见),它们都被写入日志中……我不知道我在这里做错了什么。有什么帮助吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-27 04:18:26

经过几次尝试之后。

我将第一个选项卡设置为视图而不是意图,它显示了选项卡...我也可以选择第二个选项卡。

明白了。问题是在第一个选项卡中调用的活动。如果没有数据传递给它(捆绑包),它就会关闭。再次感谢你的帮助。

票数 1
EN

Stack Overflow用户

发布于 2010-03-27 01:23:41

删除

代码语言:javascript
复制
tabHost.invalidate();

您还可以删除

代码语言:javascript
复制
Intent.FLAG_ACTIVITY_CLEAR_TOP

我看不出这有什么用处,因为当你点击标签时,无论如何你都需要看到这个活动。

票数 0
EN

Stack Overflow用户

发布于 2010-03-27 01:22:10

我在您的活动中没有看到setContentView(),这是您需要的。

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

https://stackoverflow.com/questions/2525244

复制
相关文章

相似问题

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