首页 > 解决方案 > Fragment onStart 在当前 Fragment 中被激活

问题描述

我有使用 4 个片段 a1、a2、a3、a4 的 TabLayout,问题是当我输入 a1 片段时,a2 片段也已激活,而当我进入 a2 片段时它已经激活,看起来像这样 => a1(Entered>已激活)-a2(已激活)-a3(未激活)-a4(未激活)另一种情况:a1(未激活)-a2(已激活)-a3(已输入>已激活)-a4(已激活)很难解释,我认为我的代码工作正常,为什么会出现这样的问题,如何解决?

标签: javaandroidfragment

解决方案


覆盖setUserVisibleHint以检查片段是否已激活

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);

        if (isVisibleToUser) {

            //this Fragment is visible 

        } else {

            //this Fragment is invisible

        } 
    }

推荐阅读