如何向SlidingTabLayout添加选项卡?

时间:2015-02-10 18:57:26

标签: android android-fragments android-viewpager android-pageradapter fragmentstatepageradapter

我在我的视图中使用谷歌的SlidingTabLayout,但我想动态添加新标签。 我正在使用此http://developer.android.com/samples/SlidingTabsBasic/src/com.example.android.common/view/SlidingTabLayout.html

这是我初始化它的代码:

    // Create the adapter that will return a fragment for each of the three
    // primary sections of the activity.
    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); 
    //this ^ is a FragmentStatePagerAdapter

    // Set up the ViewPager with the sections adapter.
    mViewPager = (ViewPager) findViewById(R.id.pager);
    mViewPager.setAdapter(mSectionsPagerAdapter);

    // Assiging the Sliding Tab Layout View
    tabs = (SlidingTabLayout) findViewById(R.id.tabs);

    // Setting the ViewPager For the SlidingTabsLayout
    tabs.setViewPager(mViewPager);

我完全不知道如何添加标签。

我考虑过更改ViewPager,但在SlidingTabLayout中有一条评论:

/**
 * Sets the associated view pager. Note that the assumption here is that the pager content
 * (number of tabs and tab titles) does not change after this call has been made.
 */
public void setViewPager(ViewPager viewPager) {

2 个答案:

答案 0 :(得分:3)

可能有更好,更有效的方法,但每次向setViewPager()添加网页时只需致电ViewPager即可。

答案 1 :(得分:0)

这是一个很好的教程。 http://www.android4devs.com/2015/01/how-to-make-material-design-sliding-tabs.html

简而言之,您可以为他们提供寻呼机适配器。重写getPageTitle方法以提供自定义内容。例如。

@Override
public CharSequence getPageTitle(int position) {
    return _items[position].getDisplayName();
}