在Android中,Fragment的懒加载可以通过以下步骤实现:
private boolean isLoaded = false;
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;
}
onHiddenChanged()
方法中,判断Fragment是否可见。如果是可见状态且未加载过数据,则执行数据加载逻辑。@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if (!hidden && !isLoaded) {
// 执行数据加载逻辑
loadData();
isLoaded = true;
}
}
通过以上步骤,可以实现Fragment的懒加载。当Fragment第一次显示时会执行数据加载逻辑,后续切换到该Fragment时,只有当Fragment可见且未加载过数据时才会执行数据加载逻辑。