如何修复 Android 选项卡面板以便不调用下一个选项卡的 onCreateView?

How to fix Android tab panel in order not to call onCreateView of next tab?

我有一个 Android 应用程序。登录后,我有一个 activity 主页面,其中包含 3 个选项卡面板。这 3 个面板是零散的。我已经覆盖了所有的 onCreateView 并在第二个和第三个面板中填充了 onCreateView 方法,我正在调用我的服务来填充我的微调器。

登录后,当我在第一个片段时,第二个片段的 onCreateView 方法开始工作并调用服务。

然后当我通过第二个选项卡时,第三个片段的第三个 onCreateView 开始工作并调用服务。

我不明白这个situation.How克服这个。

有合理的解释吗?

进入第一个片段时viewpager加载下一个片段是正常的。

您可以使用下面的片段来延迟加载:

public abstract class LazyFragment extends Fragment {
    protected boolean isVisible;
    private boolean loaded = false;

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if(getUserVisibleHint()&&!loaded) {
            loaded = true;
            isVisible = true;
            onVisible();
        } else {
            isVisible = false;
        }
    }
    protected void onVisible(){
        lazyLoad();
    }
    protected abstract void lazyLoad();
}

public class YourFragment extends LazyFragment{
    public void lazyload(){
       //do thing you want to do when you turn to this page.
    }
}