成都网站建设设计

将想法与焦点和您一起共享

Android中利用Viewpage调用notifyDataSetChanged()时界面无刷新如何解决

本篇文章给大家分享的是有关Android 中利用Viewpage调用notifyDataSetChanged()时界面无刷新如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

成都创新互联公司专注于企业成都全网营销、网站重做改版、大兴网站定制设计、自适应品牌网站建设、H5网站设计商城网站开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为大兴等各大城市提供网站开发制作服务。

Android 中解决Viewpage调用notifyDataSetChanged()时界面无刷新的问题

问题描述

相信很多做过Viewpager的人肯定遇到过这个问题,这个是bug还是Android就是如此设计的,我们不做讨论。总之,它确实影响我们功能的实现了。

可能不少同学选择为Viewpager重新设置一遍适配器adapter,达到刷新的目的。但是这种方法在大多数情况下,是有问题的。

解决办法

以我们可以尝试着修改适配器的写法,覆盖getItemPosition()方法,当调用notifyDataSetChanged时,让getItemPosition方法人为的返回POSITION_NONE,从而达到强迫viewpager重绘所有item的目的。

具体代码如下:

class SearchAdapter extends PagerAdapter {

   private int mChildCount = 0;

   @Override
   public void notifyDataSetChanged() {     
      mChildCount = getCount();
      super.notifyDataSetChanged();
   }

   @Override
   public int getItemPosition(Object object)  {     
      if ( mChildCount > 0) {
      mChildCount --;
      return POSITION_NONE;
      }
      return super.getItemPosition(object);
   }

}

以上就是Android 中利用Viewpage调用notifyDataSetChanged()时界面无刷新如何解决,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


文章题目:Android中利用Viewpage调用notifyDataSetChanged()时界面无刷新如何解决
URL链接:http://chengdu.cdxwcx.cn/article/jjhsid.html