为啥选项卡和片段不显示?

Posted

技术标签:

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

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

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 试过了,还是不行。疯狂的是,我用另一个工作应用程序检查了我的代码,在该应用程序中我使用了选项卡,我可以通过比较两者来识别没有问题。 【参考方案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 始终是一个好习惯。

以上是关于为啥选项卡和片段不显示?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 tabLayout 在 ViewPager 中显示片段?

带有标签和 Viewpager 的 Android 片段

选项卡布局不显示片段

ActionBar Sherlock ,操作栏选项卡和片段

为啥无法显示片段布局?

在选项卡和焦点轮廓未显示时跳过第一个导航锚