android fragment懒加载怎么实现

在Android中,Fragment的懒加载可以通过以下步骤实现:

在Fragment类中添加一个标志位,用于判断Fragment是否已经加载过数据。

private boolean isLoaded = false;

在Fragment的onCreateView()方法中,判断是否已经加载过数据。如果未加载过数据,则执行数据加载逻辑。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_layout, container, false);

    if (!isLoaded) {
        // 执行数据加载逻辑
        loadData();
        isLoaded = true;
    }
    return view;
}

在Fragment的onHiddenChanged()方法中,判断Fragment是否可见。如果是可见状态且未加载过数据,则执行数据加载逻辑。

@Override
public void onHiddenChanged(boolean hidden) {
    super.onHiddenChanged(hidden);
    if (!hidden && !isLoaded) {
        // 执行数据加载逻辑
        loadData();
        isLoaded = true;
    }
}

通过以上步骤,可以实现Fragment的懒加载。当Fragment第一次显示时会执行数据加载逻辑,后续切换到该Fragment时,只有当Fragment可见且未加载过数据时才会执行数据加载逻辑。

阅读剩余
THE END