不使用碎片的可滑动标签

时间:2012-07-13 19:23:29

标签: android tabs android-tabhost swipe fragmentpageradapter

我想知道是否可以调整我的实际标签来创建可跳过的标签而不使用片段。

现在我有不可刷新的标签(每个标签包含一个无限的列表:NewsList)。

这是我用于不可刷新标签的代码:

tabHost = (TabHost)this.findViewById(R.id.scrollTabs);
// Avant d’ajouter des onglets, il faut impérativement appeler la méthode
    // setup() du TabHost
LocalActivityManager mLocalActivityManager = new LocalActivityManager(this, false);
mLocalActivityManager.dispatchCreate(savedInstanceState);
tabHost.setup(mLocalActivityManager);

// Ajoute un onglet pour chaque catégorie de news
tabNewslist = new NewsList[NewsCategory.values().length];
View tabView;

for (int i = 0; i < NewsCategory.values().length; i++) {
    tabView = createTabView(tabHost.getContext(), NewsCategory.getValueAt(i).getName());

    tabNewslist[i] = new NewsList(this, new LinkedList<Item>(), IdUrlRss.NEWSLIST, NewsCategory.getValueAt(i));
    tabHost.addTab(tabHost.newTabSpec(NewsCategory.getValueAt(i).getName()).setIndicator(tabView).setContent(tabNewslist[i]));
}

这是XML布局:

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+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">

        <HorizontalScrollView android:layout_width="fill_parent"
                          android:layout_height="wrap_content"
                          android:fillViewport="true"
                          android:scrollbars="none">                        
            <TabWidget android:id="@android:id/tabs"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content" />

        </HorizontalScrollView>

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

        <android.support.v4.view.ViewPager
            android:id="@+id/viewPager"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />

    </LinearLayout>
</TabHost>

我还试图为NewsList创建一个PagerAdapter,但我失败了。

1 个答案:

答案 0 :(得分:2)

您可以使用

第二个选项更好,因为您可以在启动器中使用几乎任何东西作为“页面”(就像Android主屏幕一样)

那就是说,使用片段然后在其上使用ViewPager会容易得多:)