【鸿蒙Harmony】Fraction判断类似Fragment.isAdded()办法

鸿蒙Fraction没有找到类似安卓Fragment.isAdded()的方法,本方法不是唯一的解决办法,经测试能用

private Fraction mCurFraction ;//当前已经显示的Fraction 

    public void createPageInContainer(ComponentContainer container, intposition) {

        // 开启事务

        FractionScheduler fractionScheduler = mFractionManager.startFractionScheduler();

        if(mCurFraction != null) {

            // 当前的fraction不为空,就隐藏

            fractionScheduler.hide(mCurFraction);

        }

        String tag = container.getId() + ":"+ position;

        Fraction fraction;

        // 根据标签从FractionManager里面获取fraction

        Optional<Fraction> fractionOptional = mFractionManager.getFractionByTag(tag);

        if(fractionOptional.isPresent()) {

            fraction = fractionOptional.get();

            // 获取的fraction不为空,显示出来

            fractionScheduler.show(fraction);

        } else{

            // 获取的fraction为空,创建fraction

            fraction = getPage(position);

            // 将fraction添加到fractionScheduler

            fractionScheduler.add(container.getId(), fraction, tag);

        }

        mCurFraction = fraction;

        // 提交事务

        fractionScheduler.submit();

    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容