RecyclerView的刷新分为内容变化和结构变化,结构变化比如remove和insert等并不会导致viewholder的更新,所以有时候我们使用 notifyItemRemoved(position); 或者使用 notifyItemInserted(position); item的位置并没有发生改变,或者位置发生错乱,很是奇怪诡异,需要重新调用 notifyDataSetChanged(); 才能刷新整个List每个Item的位置,但这样做会使得RecyclerView增加和删除的动画效…
删除item坑 mModels.remove(i); notifyItemRemoved(i); //必须调用这行代码 notifyItemRangeChanged(i, mModels.size());…
问题描述:使用Glide加载RecyclerView的Item中的图片,RecyclerView使用了瀑布流展示图片,但是滚动时图片会不断的加载,并且大小位置都会改变,造成显示错乱. 解决方法:使用瀑布流,我们可以根据要展示的列数来将屏幕宽度等分,从而获得Item的宽度.知道了宽度,那么我们就可以使用Glide的override()方法根据图片的比例自适应地放大或缩小得到合适的高度.这样显示时就不会由错乱的问题了. 步骤1:设置Item的最外层布局的layout_height为wrap_cont…
问题描述: 在使用ViewPager的适配器删除适配器里一个Item后依然会,而删除的这个item依然会保留缓存,适配器不会重新加载更新数据.如下代码: public class TReleaseCircleZoomablePagerAdapter extends PagerAdapter { private List<TReleaseCircleBase.Pic> mImageUrlList = new ArrayList<>(); public void removeItem(…
最近的项目中实现订单确定页面.需要使用ScrollView嵌套RecyclerView,当RecyclerView中的item数量比较多时,就会出现item只显示一部分数据,并没有将用户勾选的商品数量全部显示出来,这个时候就需要我们做一下处理了. 下面来说两种解决方案: 1.使用5.0的新控件NestedScrollView替换ScrollView.NestedScrollView支持嵌套滑动,既能填item显示不全的坑,又可以填嵌套滑动卡顿的坑.不了解的童鞋可以去学习一波,这里就不做详细的说明…
布局文件1 <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/sv_home_hm" android:layout_width="match_parent" android:layout_…
遇到一个问题:昨天模拟器工作还正常,今天eclipse就识别不了了.后来发现是360手机助手占用了5555port造成的,我就纳闷了,平时这个也不是自己主动启动.今天就启动了.废话不多说,就几个步骤就能够解决类似的port占用问题: 打开命令窗体.输入netstat -an  就能够查看到全部的port占用情况,例如以下图所看到的.模拟器须要的5555port被占用了: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhzaHVsaW4=/font/…
在界面布局中有EditText控件,该控件一旦获取焦点则打开软键盘,如果布局中有底部菜单,那么底部菜单可能会被软键盘顶在其上面,看如下效果: 解决方法:在活动绑定界面之前写上下段代码即可 Window.SetSoftInputMode(SoftInput.AdjustPan); 最后效果:…
package com.hhzt.iptv.ui.customview; import android.content.Context;import android.content.res.TypedArray;import android.graphics.Rect;import android.os.Build;import android.support.v4.view.ViewCompat;import android.support.v7.widget.GridLayoutManage…
这是关于RecyclerView的第二篇,说的是如何自定义Item动画,但是请注意,本文不包含动画的具体实现方法,只是告诉大家如何去自定义动画,如何去参考源代码. 我们知道,RecyclerView默认会使用DefaultItemAnimator,所以如果我们需要自定义动画,那么应该好好的读读这个类的源代码,这样不仅仅是学习怎么自定义,还要学习Android的设计模式. 先弄明白一件事,DefaultItemAnimator继承自SimpleItemAnimator,SimpleItemAnim…