FragmentGridPagerAdapter

public abstract class FragmentGridPagerAdapter
extends GridPagerAdapter

java.lang.Object
   ↳ android.support.wearable.view.GridPagerAdapter
     ↳ android.support.wearable.view.FragmentGridPagerAdapter


An implementation of GridPagerAdapter which represents each page as a Fragment.

A minimal implementation needs only the abstract methods: getRowCount(), getColumnCount(int), getFragment(int, int).

If any changes are made to the data, 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

From class android.support.wearable.view.GridPagerAdapter

Inherited fields

From class android.support.wearable.view.GridPagerAdapter

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 Fragment at the specified row number and column number.

final Drawable getFragmentBackground(int row, int column)

Returns a background for Fragments implementing GridPageOptions.

long getFragmentId(int row, int column)

Returns a unique identifier for the Fragment at the given row/column position.

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 instantiateItem(ViewGroup, int, int).

Protected methods

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).

void removeFragment(Fragment fragment, FragmentTransaction transaction)
void restoreFragment(Fragment fragment, FragmentTransaction transaction)

Inherited methods

From class android.support.wearable.view.GridPagerAdapter
From class java.lang.Object

Public constructors

FragmentGridPagerAdapter

FragmentGridPagerAdapter (FragmentManager fm)

Parameters
fm FragmentManager

Public methods

destroyItem

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

Fragment findExistingFragment (int row,
                int column)

Parameters
row int
column int
Returns
Fragment

finishUpdate

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

Drawable getBackgroundForPage (int row,
                int column)

Provides content to be displayed as the background for a specific page.

The return value 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 BACKGROUND_NONE

getFragment

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

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 BACKGROUND_NONE if the fragment does not implement GridPageOptions

getFragmentId

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

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

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

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 getItemPosition(Object).
position Point: position which was returned from getItemPosition(Object).

removeFragment

void removeFragment (Fragment fragment,
                FragmentTransaction transaction)

Parameters
fragment Fragment
transaction FragmentTransaction

restoreFragment

void restoreFragment (Fragment fragment,
                FragmentTransaction transaction)

Parameters
fragment Fragment
transaction FragmentTransaction