0

由于设计原因,我正在将我的应用程序选项卡(API 7)切换到操作栏 Sherlock 中使用的选项卡,但我不知道如何设置它。

我以前是这样的:

    tabH = (TabHost) findViewById(R.id.tabhost);

    tabH.setup();

    TabSpec espec = tabH.newTabSpec("tabONE");
    espec.setContent(R.id.tbhot);
    espec.setIndicator("A");
    tabH.addTab(espec);

    espec = tabH.newTabSpec("tabTWO");
    espec.setContent(R.id.tbrecente);
    espec.setIndicator("B");
    tabH.addTab(espec);

    espec = tabH.newTabSpec("tabTHREE");
    espec.setContent(R.id.tbcreate);
    espec.setIndicator("C");
    tabH.addTab(espec);

现在这就是我正在做的事情:

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    for (int i = 1; i <= 3; i++) {
        ActionBar.Tab tab = getSupportActionBar().newTab();
        if (i == 1)
            tab.setText("A");
        else if(i == 2)
            tab.setText("B");
        else if (i == 3)
            tab.setText("C");
        tab.setTabListener(this);
        getSupportActionBar().addTab(tab);
    }

那行得通,但我不知道如何设置内容,所以所有选项卡都有相同的内容。我该怎么做?

此外,我的另一个选项卡位于布局的底部。是否也可以将这个设置在底部?我相信如果我可以在新标签中设置TabHost,它也会在底部,所以问题是,如何在这里设置tabhost?

4

1 回答 1

0

我通常使用片段作为内容。您必须实现 ActionBar.TabListener 并在那里调整您的内容,但这很容易。您可以在开头添加所有片段并显示/隐藏它们,或替换当前片段。

于 2012-10-26T21:07:35.793 回答