AndroidTabLayout在屏幕方向改变时不会自动切换。
创始人
2024-08-21 14:30:24
0

实现TabLayout的onSaveInstanceState和onRestoreInstanceState方法。

首先,在Activity的onCreate方法中,使用ViewPager创建TabLayout和Adapter。

ViewPager viewPager = findViewById(R.id.view_pager);
TabLayout tabLayout = findViewById(R.id.tab_layout);
viewPager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager()));
tabLayout.setupWithViewPager(viewPager);

然后在Activity中实现onSaveInstanceState和onRestoreInstanceState方法,保存和恢复选定的标签。

private int mCurrentSelectedTabPosition = 0;

@Override
protected void onSaveInstanceState(@NonNull Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putInt("current_tab_position", mCurrentSelectedTabPosition);
}

@Override
protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    mCurrentSelectedTabPosition = savedInstanceState.getInt("current_tab_position");
    tabLayout.getTabAt(mCurrentSelectedTabPosition).select();
}

最后,在ViewPager适配器中,重写getItemPosition方法,确保在屏幕方向改变时返回POSITION_NONE。

class ViewPagerAdapter extends FragmentPagerAdapter {

    // ... constructor and other methods ...

    @Override
    public int getItemPosition(@NonNull Object object) {
        // Ensure that POSITION_NONE is returned for fragments that need to be recreated
        return POSITION_NONE;
    }
}

这样,每次屏幕方向改变时,ViewPager和TabLayout都会被重新创建,而保存和恢复的标签位置也会被正确地切换。

相关内容

热门资讯

推荐攻略!微扑克ai代打,微扑... 推荐攻略!微扑克ai代打,微扑克ai机器人(微扑克)原来是有挂(有挂教学)-哔哩哔哩微扑克ai机器人...
终于懂了!微扑克的辅助工具苹果... 终于懂了!微扑克的辅助工具苹果,微扑克有挂么(微扑克)总是真的有挂(真是有挂)-哔哩哔哩微扑克的辅助...
一分钟揭秘!微扑克系统发牌规律... 一分钟揭秘!微扑克系统发牌规律,微扑克有挂么(微扑克)本来真的有挂(揭秘有挂)-哔哩哔哩1、该软件可...
一起来讨论!微扑克有辅助挂吗,... 一起来讨论!微扑克有辅助挂吗,微扑克有挂么(微扑克)总是存在有挂(有人有挂)-哔哩哔哩;1、微扑克有...
玩家必备科普!微扑克必胜技巧,... 玩家必备科普!微扑克必胜技巧,微扑克如何让系统发好牌(微扑克)都是是有挂(揭秘有挂)-哔哩哔哩;1、...
总算了解!微扑克ai辅助神器,... 总算了解!微扑克ai辅助神器,微扑克如何让系统发好牌(微扑克)好像是有挂(有挂头条)-哔哩哔哩1、微...
六分钟了解!微扑克辅助工具,微... 六分钟了解!微扑克辅助工具,微扑克ai机器人(微扑克)一贯存在有挂(真的有挂)-哔哩哔哩;微扑克辅助...
最新通报!微扑克有机器人吗,微... 最新通报!微扑克有机器人吗,微扑克ai机器人(微扑克)好像有挂(今日头条)-哔哩哔哩1、很好的工具软...
必知教程!微扑克必胜技巧,微扑... 必知教程!微扑克必胜技巧,微扑克透牌(微扑克)好像有挂(有挂工具)-哔哩哔哩1、进入游戏-大厅左侧-...
一分钟揭秘!微扑克辅助测试,微... 一分钟揭秘!微扑克辅助测试,微扑克透牌(微扑克)果然有挂(揭秘有挂)-哔哩哔哩1、任何微扑克辅助测试...