解决Activity意外销毁重建后切换Fragment显示重叠问题

1. 问题现象

在之前开发的一款应用中,有用户反映将App长期置于后台(20-30min,小米Mix2)后返回,在首页切换Fragment,有时会出现Fragment重叠显示的问题,示意图如下:
正常情况:
正常情况
异常情况:
异常情况
离开时用户停留在第三个Fragment,返回时TabLayout选择的是第一个Fragment,第一个和第三Fragment同时显示,并且此时切换Fragment,第三个Fragment并不会隐藏。
显示和隐藏Fragment的代码如下:

	private void showFragmentByPosition(int position) {
   
        hideAllFragment();
        switch (position) {
   
            case INDEX_ONE:
                showOneFragment();
                break;
            case INDEX_TWO:
                showTwoFragment();
                break;
            case INDEX_THREE:
                showThreeFragment();
                break;
            default:
                break;
        }
    }

    private void hideAllFragment() {
   
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

        if (oneFragment != null) {
   
            transaction.hide(oneFragment);
        }

        if 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值