安卓
ViewPager中Fragment懒加载解决方法
本文档使用 MrDoc 发布
-
+
首页
ViewPager中Fragment懒加载解决方法
## 在ViewPager中需要实现懒加载的Fragment中继承NewLazyFragment ## 示例 ```java public class FragmentPager1 extends NewLazyFragment{ @Override protected int getContentViewId() { // 布局文件(R.layout.) return R.layout.fragment_pager; } @Override protected void initView(View view) { super.initView(view); // 初始化viewid(findViewById) // TextView textview = view.findViewById(R.id.textview); } @Override protected void initData() { super.initData(); // 进行数据处理 或 view和数据的绑定 } @Override protected void initEvent() { super.initEvent(); // 事件处理 } } ``` ## NewLazyFragment ```java public abstract class NewLazyFragment extends Fragment { private Context mContext; private boolean isFirstLoad = true; // 是否第一次加载 @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = getActivity(); } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = LayoutInflater.from(mContext).inflate(getContentViewId(), null); initView(view); return view; } @Override public void onDestroyView() { super.onDestroyView(); isFirstLoad = true; } @Override public void onResume() { super.onResume(); if (isFirstLoad) { initEvent(); initData(); isFirstLoad = false; } } /** * 设置布局资源id * * @return */ protected abstract int getContentViewId(); /** * 初始化视图 * * @param view * findViewById */ protected void initView(View view) { } /** * 初始化事件 */ protected void initEvent() { } /** * 初始化数据 */ protected void initData() { } } ```
KT_network
2023年5月14日 16:23
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码