在tabhost中启动活动而不是片段

时间:2014-09-03 22:22:39

标签: android

我想知道是否有一种方法可以启动活动而不是在tabhost选项卡上启动片段选择。

如果要启动用户可以撰写帖子然后保存的活动,我想要了解的内容,为什么我要这样做?因为当我想编辑时我发起了一个活动,我不想让2个类做同样的事情而有一点点差别,而且底部的标签使用了太多的空间,使我的表格区域变小。

我的代码实际上看起来像

@Override
protected void onCreate(Bundle savedBundleState) {
    mTabHost.setup(getBaseContext(), getSupportFragmentManager(), R.id.realtabcontent);
    // This starts the HomeFragment
    mTabHost.addTab(newTabSpec("tabHome", R.layout.tab_home), HomeFragment.class, null);
    // This throws an error
    mTabHost.addTab(newTabSpec("tabPost", R.layout.tab_post));
    mTabHost.setOnTabChangedListener(this);
}

private TabSpec newTabSpec(String tag, int layout) {
    View view = getLayoutInflater().inflate(layout, null);
    return mTabHost.newTabSpec(tag).setIndicator(view);
}

@Override
public void onTabChanged(String tabId) {
    if (tabId == "tabAddPublication") {
        startActivity(new Intent(getBaseContext(), PostActivity.class));
    }
}

我收到了这个错误

you must specify a way to create a tab content

此致

1 个答案:

答案 0 :(得分:1)

来自Documents

  

public TabHost.TabSpec setContent(Intent intent)     指定用于启动活动的意图作为选项卡内容。

您需要设置TabSpec

的内容
Intent postActivityIntent = new Intent(this, PostActivity.class);
mTabHost.newTabSpec(tag).setContent(postActivityIntent);

希望这有帮助。