Android Fragment的懶加載可以通過以下步驟實現:
在Fragment類中添加一個boolean類型的變量isLoaded,并在onCreateView()方法中將其初始化為false。
在Fragment的onCreateView()方法中,判斷isLoaded變量的值,如果為false,則進行懶加載操作,否則直接返回已經加載的View。
在Fragment的onResume()方法中,將isLoaded變量設置為true,表示Fragment已經加載過數據。
下面是一個示例代碼:
public class MyFragment extends Fragment {
private boolean isLoaded = false;
private View rootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (rootView == null) {
rootView = inflater.inflate(R.layout.fragment_layout, container, false);
// 進行懶加載操作
if (!isLoaded) {
loadData();
isLoaded = true;
}
}
return rootView;
}
@Override
public void onResume() {
super.onResume();
// 設置為true,表示Fragment已經加載過數據
isLoaded = true;
}
private void loadData() {
// 加載數據的操作
}
}
這樣,在Fragment第一次創建時,onCreateView()方法會被調用并進行懶加載操作。當Fragment再次顯示時,onCreateView()方法中會判斷isLoaded變量的值,如果為true,則直接返回已經加載的View,不再進行懶加載操作。這樣可以避免重復加載數據,提高性能。