java - 选项卡未显示(ViewPager)

标签 java android

我无法显示选项卡。
它没有给我任何错误,但它不起作用
我不知道我做错了什么。
我希望拥有与本教程 enter link description here 相同的功能

这是主要 Activity :

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mViewPager = (ViewPager) findViewById(R.id.main_tabPager);
    setupViewPager(mViewPager);

    mTabLayout = (TabLayout) findViewById(R.id.main_tabs);
    mTabLayout.setupWithViewPager(mViewPager);
}
private void setupViewPager(ViewPager viewPager){
    SectionsPagerAdapter adapter = new SectionsPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new FavouriteFragment(), "Favourite");
    adapter.addFragment(new MostPopularFragment(), "The most popular");
    adapter.addFragment(new NewestFragment(), "The newest");
    viewPager.setAdapter(adapter);
}

这是SectionsPagerAdapter:

private final List<Fragment> M_FRAGMENT_LIST = new ArrayList<>();
private final List<String> M_FRAGMENT_TITLE = new ArrayList<>();

public SectionsPagerAdapter(FragmentManager fm) {
    super(fm);
}

public void addFragment(Fragment fragment, String title){
    M_FRAGMENT_LIST.add(fragment);
    M_FRAGMENT_TITLE.add(title);
}

@Override
public Fragment getItem(int position) {
    return M_FRAGMENT_LIST.get(position);
}

@Override
public CharSequence getPageTitle(int position) {
    return M_FRAGMENT_TITLE.get(position);
}

@Override
public int getCount() {
    return 0;
}

最佳答案

您正在将 getCount() 返回为零

    private final List<Fragment> M_FRAGMENT_LIST = new ArrayList<>();
private final List<String> M_FRAGMENT_TITLE = new ArrayList<>();

public SectionsPagerAdapter(FragmentManager fm) {
    super(fm);
}

public void addFragment(Fragment fragment, String title){
    M_FRAGMENT_LIST.add(fragment);
    M_FRAGMENT_TITLE.add(title);
}

@Override
public Fragment getItem(int position) {
    return M_FRAGMENT_LIST.get(position);
}

@Override
public CharSequence getPageTitle(int position) {
    return M_FRAGMENT_TITLE.get(position);
}

@Override
public int getCount() {
    return M_FRAGMENT_LIST.size();
}

关于java - 选项卡未显示(ViewPager),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47945211/

相关文章:

android - 在构建应用程序期间在 Eclipse 上导入文件时出现问题

android - Android 上 C 的堆栈跟踪

java - 如何创建文件并写入文件?

Java复制目录慢

java - 如何在maven项目中使用AspectJ进行日志记录?

android - 在Android上获取旋转动画的进度

java - 安卓屏幕

android - 如何在 ViewPager2 中获取当前 fragment

java - 在 OpenGL 中使用十六进制颜色

java - Swing 上的 EDT(傻瓜版)