如何向标签添加活动?

时间:2012-02-09 09:48:10

标签: android tabs customization

我已经开始在Tablayout中自定义选项卡了,所以我按照本教程http://joshclemm.com/blog/?p=136进行了操作 哪个工作正常。但令人怀疑的是,我无法找到如何在本教程中为每个选项卡添加活动,我尝试过但没有找到解决方案。

一般情况下我们使用

    TabSpec spec = tabHost.newTabSpec("Photos");
    spec.setIndicator("Photos");

    Intent photos = new Intent(this, Photos.class);
    spec.setContent(photos);

但是不知道在这种情况下如何添加活动。

有人可以帮我摆脱这个吗?

感谢。

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

    Resources res = getResources(); // Resource object to get Drawables
        TabHost tabHost = getTabHost(); // The activity TabHost
        TabHost.TabSpec spec; // Resusable TabSpec for each tab
        Intent intent; // Reusable Intent for each tab

        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, DemoActivity1.class);
        // Initialize a TabSpec for each tab and add it to the TabHost
        spec = tabHost.newTabSpec("todaystake").setIndicator("Todays Take",
                res.getDrawable(R.drawable.icontodaystake)).setContent(intent);
        tabHost.addTab(spec);

        // Do the same for the other tabs
        intent = new Intent().setClass(this, DemoActivity2.class);
        spec = tabHost.newTabSpec("whatscasting").setIndicator(
                "What's Casting", res.getDrawable(R.drawable.iconwhatscasting))
                .setContent(intent);
        tabHost.addTab(spec);
tabHost.setCurrentTab(0);

你的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">
    <RelativeLayout android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <FrameLayout android:id="@android:id/tabcontent"
            android:layout_width="fill_parent" android:layout_height="fill_parent"
            android:layout_above="@android:id/tabs" />
        <TabWidget android:id="@android:id/tabs"
            android:layout_alignParentBottom="true" android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </RelativeLayout>
</TabHost>

答案 2 :(得分:0)

你走在正确的轨道上 - Photos.class只需要成为一项活动。

参见例如this TabActivity关于我如何使用Zwitscher

答案 3 :(得分:0)

您只需将名称活动类的其他名称替换为照片一词。 但请记住,您必须在androidmanifest文件中注册您的活动。