【问题标题】:TabLayout disappears when screen goes to sleep屏幕进入睡眠状态时 TabLayout 消失
【发布时间】:2025-12-03 10:25:01
【问题描述】:

我在我的应用中使用来自 Android 设计支持库的 TabLayout。

我在活动的 onCreate 中使用 viewPager 设置选项卡,它们运行良好。

viewPager.setAdapter(
    new TabsAdapter(getSupportFragmentManager(),
        new TabInfo("Test1", Fragment1.newInstance()),
        new TabInfo("Test2", Fragment2.newInstance()),
        new TabInfo("Test3", Fragment3.newInstance())
    ));

tabs.setupWithViewPager(viewPager);

但有时,随机当屏幕进入睡眠状态并且我解锁手机(在 Moto G 2014,Android Lollipop 上测试)标签只是消失

这很糟糕,因为我无法故意复制它。

【问题讨论】:

    标签: android android-support-library android-design-library android-tablayout


    【解决方案1】:

    尝试使用 tabhost。它稳定了很多。下面显示的代码是具有三个子片段的片段中的 tabhost 示例。我自己使用这种代码,效果很好

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        mTabHost = new FragmentTabHost(getActivity());
        mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.container);
    
        mTabHost.addTab(mTabHost.newTabSpec("tab1").setIndicator("tab1"),
                Tab1Fragment.class, null);
        mTabHost.addTab(mTabHost.newTabSpec("tab2").setIndicator("tab2"),
                Tab2Fragment.class, null);
        mTabHost.addTab(mTabHost.newTabSpec("tab3").setIndicator("tab3"),
                Tab3Fragment.class, null);
        return mTabHost;
    

    }

    【讨论】: