【问题标题】:Why tabs and fragments not showing up?为什么选项卡和片段不显示?
【发布时间】:2018-06-19 14:29:57
【问题描述】:

由于某种原因,我的标签没有显示出来。 我的玩家主页活动应该显示两个标签,分别命名为 Profile 和 Teams,但它没有显示任何内容。而且也没有显示任何错误。

OnCreate玩家主页活动

mainAppToolBar = (android.support.v7.widget.Toolbar) findViewById(R.id.mainAppBar);
    setSupportActionBar(mainAppToolBar);
    getSupportActionBar().setTitle("Player Home");

    playerTabLayout = (TabLayout) findViewById(R.id.playerMainTabs);
    playerViewPager = (ViewPager) findViewById(R.id.playerMainTabPager);

    playerSectionPageAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
    playerViewPager.setAdapter(playerSectionPageAdapter);
    playerTabLayout.setupWithViewPager(playerViewPager);

部分页面适配器代码

public class SectionPageAdapter extends FragmentPagerAdapter {
public SectionPageAdapter(FragmentManager fm) {
    super(fm);
}
@Override
public Fragment getItem(int position) {
    switch (position) {
        case 0:
            ProfileFragment profileFragment = new ProfileFragment();
            return profileFragment;
        case 1:
            TeamFragment teamFragment = new TeamFragment();
            return teamFragment;
        default:
            return null;
    }
}

@Override
public int getCount() { return 2;}
public CharSequence getPageTitle(int position) {
    switch (position) {
        case 0:
            return "Profile";
        case 1:
            return "Teams";
        default:
            return null;
    }
}}

请帮忙。

【问题讨论】:

  • 请发布您的PlayerHomeActivity布局文件
  • Nemsis 我找不到布局文件,请发布问题
  • @darwin 请问see here 我不能在问题中发布它,因为它显示的信息是您的问题主要是代码。
  • 我认为问题出在 ,尝试删除这些行并检查其是否正常工作跨度>
  • @darwin 试过了,还是不行。疯狂的是,我用另一个工作应用程序检查了我的代码,在该应用程序中我使用了选项卡,我可以通过比较两者来识别没有问题。

标签: android android-layout android-fragments android-tabs


【解决方案1】:

getCount() 被覆盖,但我没有看到 getPageTitle 被覆盖。我认为你错过了@override。

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

    @Override - add this
    public CharSequence getPageTitle(int position) {
        switch (position) {
            case 0:
                return "Profile";
            case 1:
                return "Teams";
            default:
                return null;
        }
    }}

【讨论】:

  • 实际问题是,我在创建 sectionpagerAdapter 类时犯了拼写错误。顺便说一句,感谢您指向@override,但是,运行代码不是必需的,但自动生成override 始终是一个好习惯。
猜你喜欢
  • 2021-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-03
相关资源
最近更新 更多