ViewPager预加载问题和onCreateView多次调用问题的解决
来源:互联网 发布:同账号 苹果 软件 编辑:程序博客网 时间:2024/06/13 06:23
1,在使用ViewPager嵌套Fragment的时候,由于ViewPager的几个Adapter的设置来说,都会有一定的预加载(默认是左右各一个Frament)。通过设置setOffscreenPageLimit(int number) 来设置预加载的数量,在V4包中,默认的预加载是1,即使你设置为0,也是不起作用的,设置的只能是大于1才会有效果的。我们需要通过更改V4包中的默认属性才可以。
2.限制预加载,会出现滑动过程中卡顿现象。其实Fragment中防止预加载主要是防止数据的预加载,Fragment中的View预加载是有好处的,我们可以通过Fragment中的一个方法来达到预加载View 但是不加载数据,在Fragment显示的时候才去加载数据。
import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import com.bajiebao.app.R;public class ViewPagerFragment extends Fragment{ private View mContentView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { /** * 防止Fragment多次切换时调用onCreateView重新加载View */ if (null == mContentView) { mContentView = inflater.inflate(R.layout.fragment_viewpager, null); init(); /** * 为了保证一开始加载Fragment的时候判断是否需要加载数据 */ if (getUserVisibleHint()) { getNewComerInfo(true); } } else { /** * 缓存的rootView需要判断是否已经被加过parent, * 如果有parent需要从parent删除,要不然会发生这个rootview已经有parent的错误。 */ ViewGroup parent = (ViewGroup) mContentView.getParent(); if (parent != null) { parent.removeView(mContentView); } } return mContentView; } @Override public void setUserVisibleHint(boolean isVisibleToUser) { /** * 判断此Fragment是否正在前台显示 * 通过判断就知道是否要进行数据加载了 */ if (isVisibleToUser && isVisible()) { getNewComerInfo(true); } super.setUserVisibleHint(isVisibleToUser); }}
0 0
- ViewPager预加载问题和onCreateView多次调用问题的解决
- ViewPager预加载问题和onCreateView多次调用问题的解决
- ViewPager加载Fragment,切换时onCreateView多次调用问题
- fragment多次调用onCreateView的问题
- 关于fragment多次调用onCreateView的问题
- android之针对fragment多次调用onCreateView的问题
- android之针对fragment多次调用onCreateView的问题
- android之针对fragment多次调用onCreateView的问题
- android之针对fragment多次调用onCreateView的问题
- [Android UI开发] viewpager fragment 切换时oncreateview调用多次问题
- 解决ViewPager预加载问题
- 解决ViewPager+fragment预加载问题(getItem()两次调用)
- 解决ViewPager和PagerAdapter中调用notifyDataSetChanged失效的问题
- 在CHtmlView中,判断一个页面加载完成的准确方法,解决OnDocumentComplete多次调用问题
- 解决viewpager懒加载的问题
- 解决TabLayout +ViewPager + Fragment 不让预加载的问题
- 解决ViewPager取消预加载问题
- 解决ViewPager+Fragment预加载问题
- HttpComponents实战
- Angular关于$watch,$apply 以及 $digest的工作原理及相关知识点
- MySQL 集群方案相关问题
- 利用sqoop将hive数据导入导出数据到mysql
- Linux下的iwpriv(iwlist、iwconfig)的简单应用
- ViewPager预加载问题和onCreateView多次调用问题的解决
- ROS进阶学习手记 7 -- RViz仿真实例1
- 可爱的Jython
- 帧动画
- Python集合(set)类型的操作
- 图表插件地址
- Javadoc转换chm的方法及工具
- 欢迎使用CSDN-markdown编辑器
- Android状态机