您的位置:首页 > 其它

ViewPager的PagerAdapter不可以更新数据

2015-10-10 13:53 274 查看
在做项目的时候,发现即使调用了galleryAdapter.notifyDataSetChanged();

但是ViewPager还是不会更新原来的数据。

后来在stackoverflow上面找到了方法,原文链接:

http://stackoverflow.com/questions/7263291/viewpager-pageradapter-not-updating-the-view

于是花了一点时间,修改了代码:

[java] view
plaincopy

protected PagerAdapter galleryAdapter = new PagerAdapter() {

@Override

public boolean isViewFromObject(View arg0, Object arg1) {

return arg0 == ((View)arg1);

}

@Override

public int getCount() {

return size;

}

@Override

public Object instantiateItem(View container, int position) {

return bindGalleryAdapterItemView(container, position);

}

@Override

public void destroyItem(View container, int position, Object object) {

((ViewPager) container).removeView((View) object);

};

@Override

public void finishUpdate(View arg0) {}

@Override

public void restoreState(android.os.Parcelable state, ClassLoader loader) {

};

@Override

public Parcelable saveState() {

return null;

}

@Override

public void startUpdate(View arg0) {}

@Override

public int getItemPosition(Object object) {

return POSITION_NONE;

}

};

注意:POSITION_NONE 是一个PagerAdapter的内部常量,值是-2,

API里面有说明:

int android.support.v4.view.PagerAdapter.POSITION_NONE = -2 [0xfffffffe]

可以更新数据了。嘿嘿。

转自:http://blog.csdn.net/gzsword/article/details/7284288
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: