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

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