调用新活动时标签栏不显示

时间:2014-01-03 05:38:42

标签: android android-fragments android-tabhost android-tabs

我的代码

 View view = getLocalActivityManager().startActivity("main_jobs", 
                        new Intent(context,Job_Description.class)
                        .putExtra("line", str_line).putExtra("limit",str_limit)
                        .putExtra("limit",""+0)
                        .putExtra("Alert", false)
                        .putExtra("str_location", str_loc)
                        .putExtra("str_Descrption",str_descjob)
                        .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
                        .getDecorView();
                                              setContentView(view);

我正在使用此代码打开带有标签的新活动,但标签栏未显示和 没有任何错误 请帮助我如何显示标签栏以打开新活动

先谢谢

2 个答案:

答案 0 :(得分:1)

示例示例: 在这里考虑三个标签 首先在MainActivity.java

public class MainActivity extends TabActivity {

    private static final String TAB1 = "TAB1";
    private static final String TAB2 = "TAB2";
    private static final String TAB3 = "TAB3";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        TabHost tabHost = getTabHost();


        TabSpec tab1 = tabHost.newTabSpec(TAB1);
        tab1.setIndicator(TAB1);
        Intent Intent1 = new Intent(this, Tab1.class);
        tab1.setContent(Intent1);


        TabSpec tab2 = tabHost.newTabSpec(TAB2);
        tab2.setIndicator(TAB2);
        Intent Intent2 = new Intent(this, Tab2.class);
        tab2.setContent(Intent2);


        TabSpec tab3 = tabHost.newTabSpec(TAB3);
        tab3.setIndicator(TAB3);
        Intent Intent3 = new Intent(this, Tab3.class);
        tab1.setContent(Intent3);


        tabHost.addTab(tab1); 
        tabHost.addTab(tab2); 
        tabHost.addTab(tab3); 
    }
}

main.xml中

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="64dp" />

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"/>
    </LinearLayout>
</TabHost>

然后是三个类Tab1.java,Tab2.java和Tab3.java 和三个xml文件到那个类。

尝试并说出来。

答案 1 :(得分:0)

当您转移到新活动时,您正在构建一个全新的视图,这意味着您刚刚开启的视图将被抛出并替换为这个新视图。如果您需要标签栏,则需要将其构建到此新活动中,就像您为第一个活动所做的那样。