Skip to content

Most visited

Recently visited

navigation

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

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)