添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; * @author xujiayi * @date 2023/11/5 * 我只是个自由的主! public abstract class BaseFragment extends Fragment { public static final String TAG = "BaseFragment" ; * 视图是否初始化 protected boolean isInit = false ; protected boolean isLoad = false ; private View mView; @Nullable @Override public View onCreateView ( @NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { //加载子view mView = onSubViewLoaded(inflater, container); isInit = true ; //初始化的时候去加载数据 isCanLoadData(); return mView; * 是否可以加载数据 * 可以加载数据的条件: * 1.视图已经初始化 * 2.视图对用户可见 private void isCanLoadData () { if (!isInit) return ; Log.d(TAG, "isCanLoadData: " +getUserVisibleHint()); if (getUserVisibleHint()&&!isLoad) { lazyLoadData(); isLoad = true ; } else { if (isLoad) stopLoadData(); public abstract View createSuccess (LayoutInflater inflater, ViewGroup container) ; * 当视图初始化并且对用户可见的时候去真正的加载数据 protected abstract void lazyLoadData () ; * 当视图已经对用户不可见并且加载过数据,如果需要在切换到其他页面时停止加载数据,可以覆写此方法 protected void stopLoadData () { protected abstract View onSubViewLoaded (LayoutInflater inflater, ViewGroup container) ; @Override public void onDestroyView () { super .onDestroyView(); isInit = false ; isLoad = false ; @Override public void setUserVisibleHint ( boolean isVisibleToUser) { super .setUserVisibleHint(isVisibleToUser); isCanLoadData(); java