RecycleView在addItemDecoration之后每次重新加载这个页面的时候,item之间的间距都会不断变大大概是变大一倍
2017-09-10 16:09
1876 查看
RecycleView在addItemDecoration之后每次重新加载这个页面的时候,item之间的间距都会不断变大大概是每次变大一倍
尝试重写onActivityCreated的时候再调用addItemDecoration方法
解析:
因为继承的是懒加载的BaseFragment,所以lazyLoad()是每次进入Fragment的时候就会执行一次,所以放在onActivityCreated()中执行一次就行
onCreateView():每次创建、绘制该Fragment的View组件时回调该方法,Fragment将会显示该方法返回的View组件。
onActivityCreated():当Fragment所在的Activity被启动完成后回调该方法。
什么时候调用onActivityCreated()呢:
1、静态的view不需要onActivityCreated
2、保存view的状态的时候需要用onActivityCreated
3、访问父activity的view层的时候需要在onActivityCreated 方法里面做
参考博客:http://blog.csdn.net/agent_bin/article/details/52050307
尝试重写onActivityCreated的时候再调用addItemDecoration方法
@Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); LogUtil.e("TAGD", "第二个fragment onActivityCreated"); recyMicTv.addItemDecoration(new RecyclerView.ItemDecoration() { @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) view.getLayoutParams(); int viewAdapterPosition = layoutParams.getViewAdapterPosition(); if (viewAdapterPosition % 2 == 0) {//0 outRect.set(0, DimenUtils.dp2px(6), DimenUtils.dp2px(3), 0); } else if (viewAdapterPosition % 2 == 1) {//1 outRect.set(DimenUtils.dp2px(3), DimenUtils.dp2px(6), 0, 0); } } }); }
解析:
因为继承的是懒加载的BaseFragment,所以lazyLoad()是每次进入Fragment的时候就会执行一次,所以放在onActivityCreated()中执行一次就行
onCreateView():每次创建、绘制该Fragment的View组件时回调该方法,Fragment将会显示该方法返回的View组件。
onActivityCreated():当Fragment所在的Activity被启动完成后回调该方法。
什么时候调用onActivityCreated()呢:
1、静态的view不需要onActivityCreated
2、保存view的状态的时候需要用onActivityCreated
3、访问父activity的view层的时候需要在onActivityCreated 方法里面做
参考博客:http://blog.csdn.net/agent_bin/article/details/52050307
相关文章推荐
- 重写系统viewpager 实现每次切换每个页面都重新加载
- 问题排除:RecyclerView添加分割线后,每次下拉刷新 Item与分割线间都会增加间距。
- ListView&RecycleView加载大量数据的时候如何提高效率
- viewPager 页面切换时 fragment重新加载问题
- ios 加载webView页面的时候,参数值为中文
- 由于Android列表视图复用到之后的Imageview异步加载图片时候闪烁问题
- RadioGroup+Fragment 使用Fragment的add()方法,防止使用replace每次都重新加载页面,造成资源浪费
- u3d关于system.data每次在vs上重新加载都会丢失引用的问题
- 消除页面缓存,每次页面都重新加载
- 封装Recycleview.Adapter使Recycleview具有加载更多,item点击事件等功能
- ItemDecoration相关 RecycleView Item间距的设置(保持GridLayoutManager时列间距的相等)
- RecycleView加载更多完成后选item崩溃
- 消除页面缓存,每次页面都重新加载
- 设置UITextView的内间距inset为0;UIScrollview的pagingEnabled为YES的时候设置不同Page之间的间距
- 优化ImageView,在使用ListView或GridView的时候,每次更新图片的时候,在显示新的图片和旧的图片一样大小的时候,不需要去重新计算大小
- 使用LinearLayout+TextView实现底部导航栏,重复切换页面不会重新加载
- RecycleView item 间距设置
- window.location.href和window.location.reload()方法在ajax提交后返回页面重新加载时候的区别
- 使用WebView加载本地html页面,实现与java之间的相互响应
- 再谈页面内容重新加载时候出现radio绑定事件失效的问题