setTabSFromPagerAdapter已经被弃用。

6

我现在正在使用最新版本的AppCompat和设计支持库。

compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'

现在我遇到了一些废弃问题

 private void setupTabLayout() {
    mTabLayout = (TabLayout)findViewById(R.id.tab_layout);
    mAdapter = new MyPagerAdapter(getSupportFragmentManager());
    mPager = (ViewPager)findViewById(R.id.pager);
    mPager.setAdapter(mAdapter);
    mTabLayout.setTabsFromPagerAdapter(mAdapter); <!-- deprecated -->
    mTabLayout.setupWithViewPager(mPager);
}

有人知道我需要使用什么替代品吗?帮帮我。谢谢。


5
使用setupWithViewPager方法就足够了,不需要同时使用两个方法。 - Nikola Despotoski
兄弟,把你的鼠标悬停在警告上,它会直接告诉你如何解决问题。最坏的情况是 - 在 Google 上搜索“已弃用”的东西,并在 4.5 秒内找到答案。 - Vucko
1
你的方法已经过时了,只是这样说而已。建议对该方法进行检查。但这并不是解决方案,你知道吧。 - Sagar Chavada
1个回答

11

以下内容摘自TabLayout文档关于setTabsFromPagerAdapter的说明:

/**
 * @deprecated Use {@link #setupWithViewPager(ViewPager)} to link a TabLayout with a ViewPager
 * together. When that method is used, the TabLayout will be automatically updated
 * when the {@link PagerAdapter} is changed.
 */
@Deprecated
public void setTabsFromPagerAdapter(@Nullable final PagerAdapter adapter) {
    setPagerAdapter(adapter, false);
}

就像Nikola Despotoski在评论中所说的,调用setupWithViewPager就足够了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接