最新下载
热门教程
- 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);
}
}
相关文章
- 云上智农app如何申报农民专项信贷 06-11
- 京东白拿活动入口 - 2026最新免费领商品攻略 06-11
- Cursor开发者进阶技巧:如何用代码审查功能提升团队效率? 06-11
- Cursor怎么低成本使用?2026年3个免费技巧 06-11
- Cursor开发者报错怎么解决?3种排查方法 06-11
- 网络红人定义与特征解析 - 2026最新通俗解读 06-11