最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android 中解决Viewpage调用notifyDataSetChanged()时界面无刷新的问题
时间:2022-06-25 23:22:12 编辑:袖梨 来源:一聚教程网
Android 中解决Viewpage调用notifyDataSetChanged()时界面无刷新的问题
问题描述
相信很多做过Viewpager的人肯定遇到过这个问题,这个是bug还是Android就是如此设计的,我们不做讨论。总之,它确实影响我们功能的实现了。
可能不少同学选择为Viewpager重新设置一遍适配器adapter,达到刷新的目的。但是这种方法在大多数情况下,是有问题的。
解决办法
以我们可以尝试着修改适配器的写法,覆盖getItemPosition()方法,当调用notifyDataSetChanged时,让getItemPosition方法人为的返回POSITION_NONE,从而达到强迫viewpager重绘所有item的目的。
具体代码如下:
classSearchAdapterextendsPagerAdapter {
privateintmChildCount =0;
@Override
publicvoidnotifyDataSetChanged() {
mChildCount = getCount();
super.notifyDataSetChanged();
}
@Override
publicintgetItemPosition(Object object) {
if( mChildCount >0) {
mChildCount --;
returnPOSITION_NONE;
}
returnsuper.getItemPosition(object);
}
}
相关文章
- dnf神界版本蓝拳装备搭配毕业攻略 神界版本蓝拳装备怎么选 11-29
- 流放之路S24速刷简单策略选择推荐 11-29
- 魔兽世界乌龟服防骑a怪一键宏指令分享 11-29
- 创世秩序全地图资料汇总 全地图区域中文名字对照 11-29
- 播种委员会全角色解锁攻略 全人物解锁位置详解 11-29
- 魔兽世界N服官网地址分享 Everlook服入口位置2024 11-29