Last active
December 16, 2015 11:08
-
-
Save yava555/5424772 to your computer and use it in GitHub Desktop.
ViewPager Remove Item
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//----------------------------------------------------------------------------- | |
// Add "view" to right end of "views". | |
// Returns the position of the new view. | |
// The app should call this to add pages; not used by ViewPager. | |
public int addView (View v) | |
{ | |
return addView (v, views.size()); | |
} | |
//----------------------------------------------------------------------------- | |
// Add "view" at "position" to "views". | |
// Returns position of new view. | |
// The app should call this to add pages; not used by ViewPager. | |
public int addView (View v, int position) | |
{ | |
// remove adapter during add; otherwise, if view not added at end, ViewPager fails. | |
pager.setAdapter (null); | |
views.add (position, v); | |
pager.setAdapter (this); | |
return position; | |
} | |
//----------------------------------------------------------------------------- | |
// Removes "view" from "views". | |
// Retuns position of removed view. | |
// The app should call this to remove pages; not used by ViewPager. | |
public int removeView (ViewPager pager, View v) | |
{ | |
return removeView (pager, views.indexOf (v)); | |
} | |
//----------------------------------------------------------------------------- | |
// Removes the "view" at "position" from "views". | |
// Retuns position of removed view. | |
// The app should call this to remove pages; not used by ViewPager. | |
public int removeView (ViewPager pager, int position) | |
{ | |
// ViewPager doesn't have a delete method; the closest is to set the adapter | |
// again. When doing so, it deletes all its views. Then we can delete the view | |
// from from the adapter and finally set the adapter to the pager again. Note | |
// that we set the adapter to null before removing the view from "views" - that's | |
// because while ViewPager deletes all its views, it will call destroyItem which | |
// will in turn cause a null pointer ref. | |
pager.setAdapter (null); | |
views.remove (position); | |
pager.setAdapter (this); | |
return position; | |
} | |
//----------------------------------------------------------------------------- | |
// Returns the "view" at "position". | |
// The app should call this to retrieve a view; not used by ViewPager. | |
public View getView (int position) | |
{ | |
return views.get (position); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment