FragmentGridPagerAdapter
public
abstract
class
FragmentGridPagerAdapter
extends GridPagerAdapter
java.lang.Object | ||
↳ | android.support.wearable.view.GridPagerAdapter | |
↳ | android.support.wearable.view.FragmentGridPagerAdapter |
This class is deprecated.
starting with Android Wear 2.0 we no longer encourage bi-directional spacial models
for apps. If you are looking to implement vertical paging pattern, consider using the SnapHelper
and a RecyclerView
instead.
An implementation of GridPagerAdapter which represents each page as a Fragment
.
A minimal implementation needs only the abstract methods: GridPagerAdapter.getRowCount()
, GridPagerAdapter.getColumnCount(int)
, getFragment(int, int)
.
If any changes are made to the data, GridPagerAdapter.notifyDataSetChanged()
must be called to notify
the adapter of the change, so it can be reflected in the View.
If pages the data at be inserted or removed, performance can be improved by implementing
getFragmentId(int, int)
to to provide a stable ID for each item, based on the content.
Summary
Inherited constants |
---|
Inherited fields |
---|
Public constructors | |
---|---|
FragmentGridPagerAdapter(FragmentManager fm)
|
Public methods | |
---|---|
void
|
destroyItem(ViewGroup container, int row, int column, Object object)
Removes a page for the given position. |
Fragment
|
findExistingFragment(int row, int column)
|
void
|
finishUpdate(ViewGroup container)
Called when the a change in the shown pages has been completed. |
Drawable
|
getBackgroundForPage(int row, int column)
Provides content to be displayed as the background for a specific page. |
abstract
Fragment
|
getFragment(int row, int column)
Returns the |
final
Drawable
|
getFragmentBackground(int row, int column)
Returns a background for Fragments implementing |
long
|
getFragmentId(int row, int column)
Returns a unique identifier for the |
Fragment
|
instantiateItem(ViewGroup container, int row, int column)
Creates the page for the given position. |
boolean
|
isViewFromObject(View view, Object object)
Determines whether a page View is associated with a specific key object as returned by |
Protected methods | |
---|---|
void
|
applyItemPosition(Object object, Point position)
Called after |
void
|
removeFragment(Fragment fragment, FragmentTransaction transaction)
|
void
|
restoreFragment(Fragment fragment, FragmentTransaction transaction)
|
Inherited methods | |
---|---|
Public constructors
FragmentGridPagerAdapter
public FragmentGridPagerAdapter (FragmentManager fm)
Parameters | |
---|---|
fm |
FragmentManager |
Public methods
destroyItem
public void destroyItem (ViewGroup container, int row, int column, Object object)
Removes a page for the given position. The adapter is responsible for removing the view from
its container, although it only must ensure this is done by the time it returns from finishUpdate(ViewGroup)
.
Parameters | |
---|---|
container |
ViewGroup : The containing View from which the page will be removed. |
row |
int : the row to be destroyed |
column |
int : the column within the row to be destroyed |
object |
Object : The same object that was returned by instantiateItem(ViewGroup, int, int) .
|
findExistingFragment
public Fragment findExistingFragment (int row, int column)
Parameters | |
---|---|
row |
int |
column |
int |
Returns | |
---|---|
Fragment |
finishUpdate
public void finishUpdate (ViewGroup container)
Called when the a change in the shown pages has been completed. At this point you must ensure that all of the pages have actually been added or removed from the container as appropriate.
Parameters | |
---|---|
container |
ViewGroup : The containing View which is displaying this adapter's page views
|
getBackgroundForPage
public Drawable getBackgroundForPage (int row, int column)
Provides content to be displayed as the background for a specific page.
The return value GridPagerAdapter.BACKGROUND_NONE
indicates that there is no page-specific
background. and the row background should be used (if any).
This implementation simply returns the result of getFragmentBackground(int, int)
.
Parameters | |
---|---|
row |
int : the row of the page |
column |
int : the column of the page |
Returns | |
---|---|
Drawable |
the background for the given page or GridPagerAdapter.BACKGROUND_NONE
|
getFragment
public abstract Fragment getFragment (int row, int column)
Returns the Fragment
at the specified row number and column number.
Fragment instances MAY be stored and reused ONLY if no structural changes are made to the
data set or if getFragmentId(int, int)
is overridden to provide a stable identifier
for each the item at each position, otherwise results are undefined.
Parameters | |
---|---|
row |
int : the row of the position |
column |
int : the column of the position
|
Returns | |
---|---|
Fragment |
getFragmentBackground
public final Drawable getFragmentBackground (int row, int column)
Returns a background for Fragments implementing GridPageOptions
.
Parameters | |
---|---|
row |
int : the row of the fragment |
column |
int : the column of the fragment |
Returns | |
---|---|
Drawable |
the background drawable or GridPagerAdapter.BACKGROUND_NONE if the fragment does not implement
GridPageOptions
|
getFragmentId
public long getFragmentId (int row, int column)
Returns a unique identifier for the Fragment
at the given row/column
position.
The default implementation returns a fixed number based on the position. Subclasses should override this method if the positions of items can change.
Parameters | |
---|---|
row |
int : the row that this item is at |
column |
int : the column within this row that the item is at |
Returns | |
---|---|
long |
Unique identifier for the item at position |
instantiateItem
public Fragment instantiateItem (ViewGroup container, int row, int column)
Creates the page for the given position. The adapter is responsible for adding the view to the
container given here, although it only must ensure this is done by the time it returns from
finishUpdate(ViewGroup)
Parameters | |
---|---|
container |
ViewGroup : containing View in which the page will be shown |
row |
int : the row to be instantiated |
column |
int : the column within the row to be instantiated |
Returns | |
---|---|
Fragment |
a an object representing the new page |
isViewFromObject
public boolean isViewFromObject (View view, Object object)
Determines whether a page View is associated with a specific key object as returned by instantiateItem(ViewGroup, int, int)
. This method is required for a PagerAdapter to function
properly.
Parameters | |
---|---|
view |
View : Page View to check for association with object |
object |
Object : Object to check for association with view |
Returns | |
---|---|
boolean |
true if view is associated with the key object object
|
Protected methods
applyItemPosition
protected void applyItemPosition (Object object, Point position)
Called after getItemPosition(Object)
to allow superclasses to update their internal
bookkeeping if a subclass has overridden getItemPosition(Object)
.
Parameters | |
---|---|
object |
Object : Object representing the item passed to GridPagerAdapter.getItemPosition(Object) . |
position |
Point : position which was returned from GridPagerAdapter.getItemPosition(Object) .
|
removeFragment
protected void removeFragment (Fragment fragment, FragmentTransaction transaction)
Parameters | |
---|---|
fragment |
Fragment |
transaction |
FragmentTransaction |
restoreFragment
protected void restoreFragment (Fragment fragment, FragmentTransaction transaction)
Parameters | |
---|---|
fragment |
Fragment |
transaction |
FragmentTransaction |