Monday, 10 August 2015

ViewPager PagerAdapter not updating the View

up vote407down voteaccepted
There are several ways to achieve this.
The first option is easier, but bit more inefficient.
Override getItemPosition in your PagerAdapter like this:
public int getItemPosition(Object object) {
    return POSITION_NONE; 
This way, when you call notifyDataSetChanged(), the view pager will remove all views and reload them all. As so the reload effect is obtained.
The second option, suggested by Alvaro Luis Bustamante (previously alvarolb), is to setTag()method in instantiateItem() when instantiating a new view. Then instead of using notifyDataSetChanged(), you can use findViewWithTag() to find the view you want to update.
The second approach is very flexible and high performant. Kudos to alvarolb for the original research.

No comments:

Post a Comment