Как добавить активность на вкладку? - PullRequest
1 голос
/ 09 февраля 2012

Я начал работать над настройкой вкладок в 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 ]

1 голос
/ 09 февраля 2012
    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>
1 голос
/ 09 февраля 2012
0 голосов
/ 09 февраля 2012

Вы просто замените слово photos на другое имя вашего класса активности. Но помните, что вы должны зарегистрировать свою активность в файле androidmanifest.

0 голосов
/ 09 февраля 2012

Вы на правильном пути - Photos.class просто нужно занятие.

См. Например это TabActivity о том, как я это сделал с Zwitscher

...