blob: b157c39022a6fa3f99d9fed9d0f8ae8cbf1b33a6 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<meta content="IE=edge" http-equiv="X-UA-Compatible">
<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
<title>GridPagerAdapter | Android Developers</title>
<!-- STYLESHEETS -->
<link rel="stylesheet"
href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
title="roboto">
<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css">
<!-- FULLSCREEN STYLESHEET -->
<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
type="text/css">
<!-- JAVASCRIPT -->
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
<script type="text/javascript">
var toRoot = "../../../../../";
var metaTags = [];
var devsite = false;
</script>
<script src="../../../../../assets/js/docs.js?v=6" type="text/javascript"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-5831155-1', 'android.com');
ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
ga('send', 'pageview');
ga('universal.send', 'pageview'); // Send page view for new tracker.
</script>
</head>
<body class="gc-documentation
develop reference" itemscope itemtype="http://schema.org/Article">
<div id="doc-api-level" class="" style="display:none"></div>
<a name="top"></a>
<a name="top"></a>
<!-- dialog to prompt lang pref change when loaded from hardcoded URL
<div id="langMessage" style="display:none">
<div>
<div class="lang en">
<p>You requested a page in English, would you like to proceed with this language setting?</p>
</div>
<div class="lang es">
<p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
</div>
<div class="lang ja">
<p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
</div>
<div class="lang ko">
<p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
</div>
<div class="lang ru">
<p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
</div>
<div class="lang zh-cn">
<p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
</div>
<div class="lang zh-tw">
<p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
</div>
<a href="#" class="button yes" onclick="return false;">
<span class="lang en">Yes</span>
<span class="lang es">Sí</span>
<span class="lang ja">Yes</span>
<span class="lang ko">Yes</span>
<span class="lang ru">Yes</span>
<span class="lang zh-cn">是的</span>
<span class="lang zh-tw">没有</span>
</a>
<a href="#" class="button" onclick="$('#langMessage').hide();return false;">
<span class="lang en">No</span>
<span class="lang es">No</span>
<span class="lang ja">No</span>
<span class="lang ko">No</span>
<span class="lang ru">No</span>
<span class="lang zh-cn">没有</span>
<span class="lang zh-tw">没有</span>
</a>
</div>
</div> -->
<!-- Header -->
<div id="header-wrapper">
<div class="dac-header" id="header">
<div class="dac-header-inner">
<a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation">
<span class="dac-nav-hamburger">
<span class="dac-nav-hamburger-top"></span>
<span class="dac-nav-hamburger-mid"></span>
<span class="dac-nav-hamburger-bot"></span>
</span>
</a>
<a class="dac-header-logo" href="../../../../../index.html">
<img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png"
srcset="../../../../../assets/images/android_logo@2x.png 2x"
width="32" height="36" alt="Android" /> Developers
</a>
<ul class="dac-header-crumbs">
<li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">GridPagerAdapter</a></li>
</ul>
<div class="dac-header-search" id="search-container">
<div class="dac-header-search-inner">
<div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div>
<form class="dac-header-search-form" onsubmit="return submit_search()">
<input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
onkeydown="return search_changed(event, true, '../../../../../')"
onkeyup="return search_changed(event, false, '../../../../../')"
class="dac-header-search-input" placeholder="Search" />
<a class="dac-header-search-close hide" id="search-close">close</a>
</form>
</div><!-- end dac-header-search-inner -->
</div><!-- end dac-header-search -->
<div class="search_filtered_wrapper">
<div class="suggest-card reference no-display">
<ul class="search_filtered">
</ul>
</div>
<div class="suggest-card develop no-display">
<ul class="search_filtered">
</ul>
<div class="child-card guides no-display">
</div>
<div class="child-card training no-display">
</div>
<div class="child-card samples no-display">
</div>
</div>
<div class="suggest-card design no-display">
<ul class="search_filtered">
</ul>
</div>
<div class="suggest-card distribute no-display">
<ul class="search_filtered">
</ul>
</div>
</div>
<a class="dac-header-console-btn" href="https://play.google.com/apps/publish/">
<span class="dac-sprite dac-google-play"></span>
<span class="dac-visible-desktop-inline">Developer</span>
Console
</a>
</div><!-- end header-wrap.wrap -->
</div><!-- end header -->
<div id="searchResults" class="wrap" style="display:none;">
<h2 id="searchTitle">Results</h2>
<div id="leftSearchControl" class="search-control">Loading...</div>
</div>
</div> <!--end header-wrapper -->
<!-- Navigation-->
<nav class="dac-nav">
<div class="dac-nav-dimmer" data-dac-toggle-nav></div>
<ul class="dac-nav-list" data-dac-nav>
<li class="dac-nav-item dac-nav-head">
<a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation">
<img class="dac-logo-image" src="../../../../../assets/images/android_logo.png"
srcset="../../../../../assets/images/android_logo@2x.png 2x"
width="32" height="36" alt="Android" /> Developers
</a>
</li>
<li class="dac-nav-item home">
<a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a>
<ul class="dac-nav-secondary about">
<li class="dac-nav-item about">
<a class="dac-nav-link" href="../../../../../about/index.html">Android</a>
</li>
<li class="dac-nav-item wear">
<a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a>
</li>
<li class="dac-nav-item tv">
<a class="dac-nav-link" href="../../../../../tv/index.html">TV</a>
</li>
<li class="dac-nav-item auto">
<a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a>
</li>
</ul>
</li>
<li class="dac-nav-item design">
<a class="dac-nav-link" href="../../../../../design/index.html"
zh-tw-lang="設計"
zh-cn-lang="设计"
ru-lang="Проектирование"
ko-lang="디자인"
ja-lang="設計"
es-lang="Diseñar">Design</a>
</li>
<li class="dac-nav-item develop">
<a class="dac-nav-link" href="../../../../../develop/index.html"
zh-tw-lang="開發"
zh-cn-lang="开发"
ru-lang="Разработка"
ko-lang="개발"
ja-lang="開発"
es-lang="Desarrollar">Develop</a>
<ul class="dac-nav-secondary develop">
<li class="dac-nav-item training">
<a class="dac-nav-link" href="../../../../../training/index.html"
zh-tw-lang="訓練課程"
zh-cn-lang="培训"
ru-lang="Курсы"
ko-lang="교육"
ja-lang="トレーニング"
es-lang="Capacitación">Training</a>
</li>
<li class="dac-nav-item guide">
<a class="dac-nav-link" href="../../../../../guide/index.html"
zh-tw-lang="API 指南"
zh-cn-lang="API 指南"
ru-lang="Руководства по API"
ko-lang="API 가이드"
ja-lang="API ガイド"
es-lang="Guías de la API">API Guides</a>
</li>
<li class="dac-nav-item reference">
<a class="dac-nav-link" href="../../../../../reference/packages.html"
zh-tw-lang="參考資源"
zh-cn-lang="参考"
ru-lang="Справочник"
ko-lang="참조문서"
ja-lang="リファレンス"
es-lang="Referencia">Reference</a>
</li>
<li class="dac-nav-item tools">
<a class="dac-nav-link" href="../../../../../sdk/index.html"
zh-tw-lang="相關工具"
zh-cn-lang="工具"
ru-lang="Инструменты"
ko-lang="도구"
ja-lang="ツール"
es-lang="Herramientas">Tools</a></li>
<li class="dac-nav-item google">
<a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a>
</li>
<li class="dac-nav-item preview">
<a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a>
</li>
</ul>
</li>
<li class="dac-nav-item distribute">
<a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html"
zh-tw-lang="發佈"
zh-cn-lang="分发"
ru-lang="Распространение"
ko-lang="배포"
ja-lang="配布"
es-lang="Distribuir">Distribute</a>
<ul class="dac-nav-secondary distribute">
<li class="dac-nav-item googleplay">
<a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
<li class="dac-nav-item essentials">
<a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li>
<li class="dac-nav-item users">
<a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li>
<li class="dac-nav-item engage">
<a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
<li class="dac-nav-item monetize">
<a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a>
</li>
<li class="dac-nav-item analyze">
<a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a>
</li>
<li class="dac-nav-item stories">
<a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a>
</li>
</ul>
</li>
</ul>
</nav>
<!-- end navigation-->
<div class="wrap clearfix" id="body-content"><div class="cols">
<div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
<div id="devdoc-nav">
<div id="api-nav-header">
<div id="api-level-toggle">
<label for="apiLevelCheckbox" class="disabled"
title="Select your target API level to dim unavailable APIs">API level: </label>
<div class="select-wrapper">
<select id="apiLevelSelector">
<!-- option elements added by buildApiLevelSelector() -->
</select>
</div>
</div><!-- end toggle -->
<div id="api-nav-title">Android APIs</div>
</div><!-- end nav header -->
<script>
var SINCE_DATA = [ ];
buildApiLevelSelector();
</script>
<div id="swapper">
<div id="nav-panels">
<div id="resize-packages-nav">
<div id="packages-nav" class="scroll-pane">
<ul>
<li class="api apilevel-">
<a href="../../../../../reference/android/support/wearable/package-summary.html">android.support.wearable</a></li>
<li class="api apilevel-">
<a href="../../../../../reference/android/support/wearable/activity/package-summary.html">android.support.wearable.activity</a></li>
<li class="api apilevel-">
<a href="../../../../../reference/android/support/wearable/companion/package-summary.html">android.support.wearable.companion</a></li>
<li class="api apilevel-">
<a href="../../../../../reference/android/support/wearable/input/package-summary.html">android.support.wearable.input</a></li>
<li class="api apilevel-">
<a href="../../../../../reference/android/support/wearable/media/package-summary.html">android.support.wearable.media</a></li>
<li class="api apilevel-">
<a href="../../../../../reference/android/support/wearable/provider/package-summary.html">android.support.wearable.provider</a></li>
<li class="selected api apilevel-">
<a href="../../../../../reference/android/support/wearable/view/package-summary.html">android.support.wearable.view</a></li>
<li class="api apilevel-">
<a href="../../../../../reference/android/support/wearable/watchface/package-summary.html">android.support.wearable.watchface</a></li>
</ul><br/>
</div> <!-- end packages-nav -->
</div> <!-- end resize-packages -->
<div id="classes-nav" class="scroll-pane">
<ul>
<li><h2>Interfaces</h2>
<ul>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/DelayedConfirmationView.DelayedConfirmationListener.html">DelayedConfirmationView.DelayedConfirmationListener</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/GridPageOptions.html">GridPageOptions</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/GridPageOptions.BackgroundListener.html">GridPageOptions.BackgroundListener</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnAdapterChangeListener.html">GridViewPager.OnAdapterChangeListener</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html">GridViewPager.OnPageChangeListener</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/WatchViewStub.OnLayoutInflatedListener.html">WatchViewStub.OnLayoutInflatedListener</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/WearableListView.ClickListener.html">WearableListView.ClickListener</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/WearableListView.OnCenterProximityListener.html">WearableListView.OnCenterProximityListener</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/WearableListView.OnCentralPositionChangedListener.html">WearableListView.OnCentralPositionChangedListener</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/WearableListView.OnScrollListener.html">WearableListView.OnScrollListener</a></li>
</ul>
</li>
<li><h2>Classes</h2>
<ul>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html">ActionLabel</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/ActionPage.html">ActionPage</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/BoxInsetLayout.html">BoxInsetLayout</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/BoxInsetLayout.LayoutParams.html">BoxInsetLayout.LayoutParams</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html">CardFragment</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/CardFrame.html">CardFrame</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/CardScrollView.html">CardScrollView</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/CircledImageView.html">CircledImageView</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/CircularButton.html">CircularButton</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/CrossfadeDrawable.html">CrossfadeDrawable</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/DelayedConfirmationView.html">DelayedConfirmationView</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/DismissOverlayView.html">DismissOverlayView</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html">DotsPageIndicator</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/FragmentGridPagerAdapter.html">FragmentGridPagerAdapter</a></li>
<li class="selected api apilevel-"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html">GridPagerAdapter</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html">GridViewPager</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.LayoutParams.html">GridViewPager.LayoutParams</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/ProgressSpinner.html">ProgressSpinner</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/SimpleAnimatorListener.html">SimpleAnimatorListener</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/WatchViewStub.html">WatchViewStub</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html">WearableFrameLayout</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.LayoutParams.html">WearableFrameLayout.LayoutParams</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html">WearableListView</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/WearableListView.Adapter.html">WearableListView.Adapter</a></li>
<li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/view/WearableListView.ViewHolder.html">WearableListView.ViewHolder</a></li>
</ul>
</li>
</ul><br/>
</div><!-- end classes -->
</div><!-- end nav-panels -->
<div id="nav-tree" style="display:none" class="scroll-pane">
<div id="tree-list"></div>
</div><!-- end nav-tree -->
</div><!-- end swapper -->
<div id="nav-swap">
<a class="fullscreen">fullscreen</a>
<a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
</div>
</div> <!-- end devdoc-nav -->
</div> <!-- end side-nav -->
<script type="text/javascript">
// init fullscreen based on user pref
var fullscreen = readCookie("fullscreen");
if (fullscreen != 0) {
if (fullscreen == "false") {
toggleFullscreen(false);
} else {
toggleFullscreen(true);
}
}
// init nav version for mobile
if (isMobile) {
swapNav(); // tree view should be used on mobile
$('#nav-swap').hide();
} else {
chooseDefaultNav();
if ($("#nav-tree").is(':visible')) {
init_default_navtree("../../../../../");
}
}
// scroll the selected page into view
$(document).ready(function() {
scrollIntoView("packages-nav");
scrollIntoView("classes-nav");
});
</script>
<div class="col-12" id="doc-col">
<div id="api-info-block">
<div class="sum-details-links">
Summary:
<a href="#constants">Constants</a>
&#124; <a href="#lfields">Fields</a>
&#124; <a href="#pubctors">Ctors</a>
&#124; <a href="#pubmethods">Methods</a>
&#124; <a href="#promethods">Protected Methods</a>
&#124; <a href="#inhmethods">Inherited Methods</a>
&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
</div><!-- end sum-details-links -->
<div class="api-level">
</div>
</div><!-- end api-info-block -->
<!-- ======== START OF CLASS DATA ======== -->
<div id="jd-header">
public
abstract
class
<h1 itemprop="name">GridPagerAdapter</h1>
extends Object<br/>
</div><!-- end header -->
<div id="naMessage"></div>
<div id="jd-content" class="api apilevel-">
<table class="jd-inheritance-table">
<tr>
<td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
</tr>
<tr>
<td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
<td colspan="1" class="jd-inheritance-class-cell">android.support.wearable.view.GridPagerAdapter</td>
</tr>
</table>
<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
<a href="#" onclick="return toggleInherited(this, null)" id="subclasses-direct" class="jd-expando-trigger closed"
><img id="subclasses-direct-trigger"
src="../../../../../assets/images/triangle-closed.png"
class="jd-expando-trigger-img" /></a>Known Direct Subclasses
<div id="subclasses-direct">
<div id="subclasses-direct-list"
class="jd-inheritedlinks"
>
<a href="../../../../../reference/android/support/wearable/view/FragmentGridPagerAdapter.html">FragmentGridPagerAdapter</a>
</div>
<div id="subclasses-direct-summary"
style="display: none;"
>
<table class="jd-sumtable-expando">
<tr class="alt-color api apilevel-" >
<td class="jd-linkcol"><a href="../../../../../reference/android/support/wearable/view/FragmentGridPagerAdapter.html">FragmentGridPagerAdapter</a></td>
<td class="jd-descrcol" width="100%">
An implementation of GridPagerAdapter which represents each page as a <code><a href="../../../../../reference/android/app/Fragment.html">Fragment</a></code>.&nbsp;
</td>
</tr>
</table>
</div>
</div>
</td></tr></table>
<div class="jd-descr">
<h2>Class Overview</h2>
<p itemprop="articleBody">This component is responsible for providing views requested by a <code><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html">GridViewPager</a></code>.
<p>
Content is organized into rows and columns of pages, where each page is represented by a View.
Each row may contain a different number of columns.
<p>
In addition to content views, this adapter is also queried for backgrounds to be displayed for
each page. When the same background spans multiple pages, it's automatically zoomed and panned to
create a parallax effect against the movement of the page content as it moves. By default, no
background is provided.
</p>
</div><!-- jd-descr -->
<div class="jd-descr">
<h2>Summary</h2>
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#OPTION_DISABLE_PARALLAX">OPTION_DISABLE_PARALLAX</a></td>
<td class="jd-descrcol" width="100%">
Disables zooming and parallax scrolling of the background.
</td>
</tr>
<tr class=" api apilevel-" >
<td class="jd-typecol">int</td>
<td class="jd-linkcol"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#PAGE_DEFAULT_OPTIONS">PAGE_DEFAULT_OPTIONS</a></td>
<td class="jd-descrcol" width="100%">
Default background options.
</td>
</tr>
</table>
<!-- =========== FIELD SUMMARY =========== -->
<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
final
Drawable</nobr></td>
<td class="jd-linkcol"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#BACKGROUND_NONE">BACKGROUND_NONE</a></td>
<td class="jd-descrcol" width="100%">
This value indicates that no background should drawn.
</td>
</tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
final
Point</nobr></td>
<td class="jd-linkcol"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#POSITION_NONE">POSITION_NONE</a></td>
<td class="jd-descrcol" width="100%">
</td>
</tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
public
static
final
Point</nobr></td>
<td class="jd-linkcol"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#POSITION_UNCHANGED">POSITION_UNCHANGED</a></td>
<td class="jd-descrcol" width="100%">
</td>
</tr>
</table>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#GridPagerAdapter()">GridPagerAdapter</a></span>()</nobr>
</td></tr>
</table>
<!-- ========== METHOD SUMMARY =========== -->
<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#destroyItem(android.view.ViewGroup, int, int, java.lang.Object)">destroyItem</a></span>(ViewGroup container, int row, int column, Object object)</nobr>
<div class="jd-descrdiv">
Removes a page for the given position.
</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#finishUpdate(android.view.ViewGroup)">finishUpdate</a></span>(ViewGroup container)</nobr>
<div class="jd-descrdiv">
Called when the a change in the shown pages has been completed.
</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
Drawable</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage</a></span>(int row, int column)</nobr>
<div class="jd-descrdiv">
Provides content to be displayed as background for a specific page.
</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
Drawable</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForRow(int)">getBackgroundForRow</a></span>(int row)</nobr>
<div class="jd-descrdiv">
Provides content to be displayed as the default background for all pages on the given row.
</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getColumnCount(int)">getColumnCount</a></span>(int row)</nobr>
<div class="jd-descrdiv">
Returns the maximum number of columns for each row.
</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getCurrentColumnForRow(int, int)">getCurrentColumnForRow</a></span>(int row, int currentColumn)</nobr>
<div class="jd-descrdiv">
Returns the column to arrive at when navigating vertically to the specified row.
</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
Point</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getItemPosition(java.lang.Object)">getItemPosition</a></span>(Object object)</nobr>
<div class="jd-descrdiv">
Called when the host view is attempting to determine if an item's position has changed.
</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getOptionsForPage(int, int)">getOptionsForPage</a></span>(int row, int column)</nobr>
<div class="jd-descrdiv">
Provides a set of features to apply to a page background.
</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getRowCount()">getRowCount</a></span>()</nobr>
<div class="jd-descrdiv">
Returns the number of rows available.
</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
Object</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#instantiateItem(android.view.ViewGroup, int, int)">instantiateItem</a></span>(ViewGroup container, int row, int column)</nobr>
<div class="jd-descrdiv">
Creates the page for the given position.
</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#isViewFromObject(android.view.View, java.lang.Object)">isViewFromObject</a></span>(View view, Object object)</nobr>
<div class="jd-descrdiv">
Determines whether a page View is associated with a specific key object as returned by
<code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#instantiateItem(android.view.ViewGroup, int, int)">instantiateItem(ViewGroup, int, int)</a></code>.
</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#notifyDataSetChanged()">notifyDataSetChanged</a></span>()</nobr>
<div class="jd-descrdiv">
This method should be called by the application if the data backing this adapter has changed
and associated views should update.
</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#notifyPageBackgroundChanged(int, int)">notifyPageBackgroundChanged</a></span>(int row, int column)</nobr>
<div class="jd-descrdiv">
This method should be called if the value returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage(int, int)</a></code>
or options returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getOptionsForPage(int, int)">getOptionsForPage(int, int)</a></code> change.
</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#notifyRowBackgroundChanged(int)">notifyRowBackgroundChanged</a></span>(int row)</nobr>
<div class="jd-descrdiv">
This method should be called if the value returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForRow(int)">getBackgroundForRow(int)</a></code>
changes.
</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#registerDataSetObserver(android.database.DataSetObserver)">registerDataSetObserver</a></span>(DataSetObserver observer)</nobr>
<div class="jd-descrdiv">
Register an observer to receive callbacks related to the adapter's data changing.
</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#restoreState(android.os.Parcelable, java.lang.ClassLoader)">restoreState</a></span>(Parcelable savedState, ClassLoader classLoader)</nobr>
<div class="jd-descrdiv">
Restores the previously saved state of this adapter.
</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
Parcelable</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#saveState()">saveState</a></span>()</nobr>
<div class="jd-descrdiv">
Saves the current state of this adapter.
</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#setCurrentColumnForRow(int, int)">setCurrentColumnForRow</a></span>(int row, int currentColumn)</nobr>
<div class="jd-descrdiv">
Called to inform the adapter of which column is now current for the given row.
</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#startUpdate(android.view.ViewGroup)">startUpdate</a></span>(ViewGroup container)</nobr>
<div class="jd-descrdiv">
Called when a change in the shown pages is going to start being made.
</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#unregisterDataSetObserver(android.database.DataSetObserver)">unregisterDataSetObserver</a></span>(DataSetObserver observer)</nobr>
<div class="jd-descrdiv">
Unregister an observer from callbacks related to the adapter's data changing.
</div>
</td></tr>
</table>
<!-- ========== METHOD SUMMARY =========== -->
<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#applyItemPosition(java.lang.Object, android.graphics.Point)">applyItemPosition</a></span>(Object object, Point position)</nobr>
<div class="jd-descrdiv">
Called after <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getItemPosition(java.lang.Object)">getItemPosition(Object)</a></code> to allow superclasses to update their
internal bookkeeping if a subclass has overridden <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getItemPosition(java.lang.Object)">getItemPosition(Object)</a></code>.
</div>
</td></tr>
</table>
<!-- ========== METHOD SUMMARY =========== -->
<table id="inhmethods" class="jd-sumtable"><tr><th>
<a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
<div style="clear:left;">Inherited Methods</div></th></tr>
<tr class="api apilevel-" >
<td colspan="12">
<a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
><img id="inherited-methods-java.lang.Object-trigger"
src="../../../../../assets/images/triangle-closed.png"
class="jd-expando-trigger-img" /></a>
From class
java.lang.Object
<div id="inherited-methods-java.lang.Object">
<div id="inherited-methods-java.lang.Object-list"
class="jd-inheritedlinks">
</div>
<div id="inherited-methods-java.lang.Object-summary" style="display: none;">
<table class="jd-sumtable-expando">
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
Object</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">clone</span>()</nobr>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">equals</span>(Object arg0)</nobr>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">finalize</span>()</nobr>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
final
Class&lt;?&gt;</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">getClass</span>()</nobr>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">hashCode</span>()</nobr>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
final
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">notify</span>()</nobr>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
final
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">notifyAll</span>()</nobr>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
String</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">toString</span>()</nobr>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
final
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">wait</span>()</nobr>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
final
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">wait</span>(long arg0, int arg1)</nobr>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
final
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">wait</span>(long arg0)</nobr>
</td></tr>
</table>
</div>
</div>
</td></tr>
</table>
</div><!-- jd-descr (summary) -->
<!-- Details -->
<!-- XML Attributes -->
<!-- Enum Values -->
<!-- Constants -->
<!-- ========= ENUM CONSTANTS DETAIL ======== -->
<h2>Constants</h2>
<A NAME="OPTION_DISABLE_PARALLAX"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
static
final
int
</span>
OPTION_DISABLE_PARALLAX
</h4>
<div class="api-level">
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Disables zooming and parallax scrolling of the background.
</p></div>
<div class="jd-tagdata">
<span class="jd-tagtitle">Constant Value: </span>
<span>
1
(0x00000001)
</span>
</div>
</div>
</div>
<A NAME="PAGE_DEFAULT_OPTIONS"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
static
final
int
</span>
PAGE_DEFAULT_OPTIONS
</h4>
<div class="api-level">
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Default background options. Parallax scrolling is enabled.
</p></div>
<div class="jd-tagdata">
<span class="jd-tagtitle">Constant Value: </span>
<span>
0
(0x00000000)
</span>
</div>
</div>
</div>
<!-- Fields -->
<!-- ========= FIELD DETAIL ======== -->
<h2>Fields</h2>
<A NAME="BACKGROUND_NONE"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
static
final
Drawable
</span>
BACKGROUND_NONE
</h4>
<div class="api-level">
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>This value indicates that no background should drawn. See <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForRow(int)">getBackgroundForRow(int)</a></code> and
<code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage(int, int)</a></code> for specific effects.
</p></div>
</div>
</div>
<A NAME="POSITION_NONE"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
static
final
Point
</span>
POSITION_NONE
</h4>
<div class="api-level">
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p></p></div>
</div>
</div>
<A NAME="POSITION_UNCHANGED"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
static
final
Point
</span>
POSITION_UNCHANGED
</h4>
<div class="api-level">
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p></p></div>
</div>
</div>
<!-- Public ctors -->
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<h2>Public Constructors</h2>
<A NAME="GridPagerAdapter()"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
</span>
<span class="sympad">GridPagerAdapter</span>
<span class="normal">()</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p></p></div>
</div>
</div>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<!-- Protected ctors -->
<!-- ========= METHOD DETAIL ======== -->
<!-- Public methdos -->
<h2>Public Methods</h2>
<A NAME="destroyItem(android.view.ViewGroup, int, int, java.lang.Object)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
abstract
void
</span>
<span class="sympad">destroyItem</span>
<span class="normal">(ViewGroup container, int row, int column, Object object)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>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
<code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#finishUpdate(android.view.ViewGroup)">finishUpdate(ViewGroup)</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>container</td>
<td>The containing View from which the page will be removed.</td>
</tr>
<tr>
<th>row</td>
<td>the row to be destroyed</td>
</tr>
<tr>
<th>column</td>
<td>the column within the row to be destroyed</td>
</tr>
<tr>
<th>object</td>
<td>The same object that was returned by
<code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#instantiateItem(android.view.ViewGroup, int, int)">instantiateItem(ViewGroup, int, int)</a></code>.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="finishUpdate(android.view.ViewGroup)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">finishUpdate</span>
<span class="normal">(ViewGroup container)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>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.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>container</td>
<td>The containing View which is displaying this adapter's page views
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="getBackgroundForPage(int, int)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
Drawable
</span>
<span class="sympad">getBackgroundForPage</span>
<span class="normal">(int row, int column)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Provides content to be displayed as background for a specific page.
<p>
The return value <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#BACKGROUND_NONE">BACKGROUND_NONE</a></code> indicates that there is no page-specific background.
and the row background should be used (if any).
<p>
The return value of this method can be cached. <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#notifyPageBackgroundChanged(int, int)">notifyPageBackgroundChanged(int, int)</a></code> may be
used to invalidate a previously returned value. <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage(int, int)</a></code> will then be
called to request the new value when necessary.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>row</td>
<td>the row of the page</td>
</tr>
<tr>
<th>column</td>
<td>the column of the page
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="getBackgroundForRow(int)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
Drawable
</span>
<span class="sympad">getBackgroundForRow</span>
<span class="normal">(int row)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Provides content to be displayed as the default background for all pages on the given row.
<p>
The return value <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#BACKGROUND_NONE">BACKGROUND_NONE</a></code> causes no background to be displayed, except for
those applied by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage(int, int)</a></code>.
<p>
The return value of this method can be cached. <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#notifyRowBackgroundChanged(int)">notifyRowBackgroundChanged(int)</a></code> may be
used to invalidate a previously returned value. <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForRow(int)">getBackgroundForRow(int)</a></code> will then be
called to request the new value when necessary.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>row</td>
<td>the row of the page</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>a drawable to display for the row
</li></ul>
</div>
</div>
</div>
<A NAME="getColumnCount(int)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
abstract
int
</span>
<span class="sympad">getColumnCount</span>
<span class="normal">(int row)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Returns the maximum number of columns for each row. The number of columns may vary by row.
</p></div>
</div>
</div>
<A NAME="getCurrentColumnForRow(int, int)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
int
</span>
<span class="sympad">getCurrentColumnForRow</span>
<span class="normal">(int row, int currentColumn)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Returns the column to arrive at when navigating vertically to the specified row.
<p>
The default implementation simply returns 0.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>row</td>
<td>the row in question</td>
</tr>
<tr>
<th>currentColumn</td>
<td>the column which is currently centered</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>the column to arrive at
</li></ul>
</div>
</div>
</div>
<A NAME="getItemPosition(java.lang.Object)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
Point
</span>
<span class="sympad">getItemPosition</span>
<span class="normal">(Object object)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Called when the host view is attempting to determine if an item's position has changed.
Returns <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#POSITION_UNCHANGED">POSITION_UNCHANGED</a></code> if the position of the given item has not changed or
<code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#POSITION_NONE">POSITION_NONE</a></code> if the item is no longer present in the adapter.
<p>
The default implementation assumes that all items have been removed and always returns
<code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#POSITION_NONE">POSITION_NONE</a></code>. This causes all fragments to be detached and re-attached as needed.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>object</td>
<td>Object representing an item, previously returned by a call to
<code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#instantiateItem(android.view.ViewGroup, int, int)">instantiateItem(ViewGroup, int, int)</a></code>.</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>object's new position with row from [0, getRowCount()] and column from [0,
getColumnCount(row)], <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#POSITION_UNCHANGED">POSITION_UNCHANGED</a></code> if the object's position has not
changed, or <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#POSITION_NONE">POSITION_NONE</a></code> if the item is no longer present.
</li></ul>
</div>
</div>
</div>
<A NAME="getOptionsForPage(int, int)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
int
</span>
<span class="sympad">getOptionsForPage</span>
<span class="normal">(int row, int column)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Provides a set of features to apply to a page background. The return value should be a
combination of one or more of the following, combined via bitwise-or:
<ul>
<li> <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#OPTION_DISABLE_PARALLAX">OPTION_DISABLE_PARALLAX</a></code>
</ul>
The default return value is <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#PAGE_DEFAULT_OPTIONS">PAGE_DEFAULT_OPTIONS</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>row</td>
<td>the row of the page</td>
</tr>
<tr>
<th>column</td>
<td>the column of the page</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>a bitwise OR of all requested options
</li></ul>
</div>
</div>
</div>
<A NAME="getRowCount()"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
abstract
int
</span>
<span class="sympad">getRowCount</span>
<span class="normal">()</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Returns the number of rows available.
</p></div>
</div>
</div>
<A NAME="instantiateItem(android.view.ViewGroup, int, int)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
abstract
Object
</span>
<span class="sympad">instantiateItem</span>
<span class="normal">(ViewGroup container, int row, int column)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>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 <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#finishUpdate(android.view.ViewGroup)">finishUpdate(ViewGroup)</a></code></p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>container</td>
<td>containing View in which the page will be shown</td>
</tr>
<tr>
<th>row</td>
<td>the row to be instantiated</td>
</tr>
<tr>
<th>column</td>
<td>the column within the row to be instantiated</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>a an object representing the new page
</li></ul>
</div>
</div>
</div>
<A NAME="isViewFromObject(android.view.View, java.lang.Object)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
abstract
boolean
</span>
<span class="sympad">isViewFromObject</span>
<span class="normal">(View view, Object object)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Determines whether a page View is associated with a specific key object as returned by
<code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#instantiateItem(android.view.ViewGroup, int, int)">instantiateItem(ViewGroup, int, int)</a></code>. This method is required for a PagerAdapter to
function properly.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>view</td>
<td>Page View to check for association with <code>object</code></td>
</tr>
<tr>
<th>object</td>
<td>Object to check for association with <code>view</code></td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>true if <code>view</code> is associated with the key object <code>object</code>
</li></ul>
</div>
</div>
</div>
<A NAME="notifyDataSetChanged()"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">notifyDataSetChanged</span>
<span class="normal">()</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>This method should be called by the application if the data backing this adapter has changed
and associated views should update.
</p></div>
</div>
</div>
<A NAME="notifyPageBackgroundChanged(int, int)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">notifyPageBackgroundChanged</span>
<span class="normal">(int row, int column)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>This method should be called if the value returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage(int, int)</a></code>
or options returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getOptionsForPage(int, int)">getOptionsForPage(int, int)</a></code> change. Any cached value are
removed and the the new value will be requested when necessary.
</p></div>
</div>
</div>
<A NAME="notifyRowBackgroundChanged(int)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">notifyRowBackgroundChanged</span>
<span class="normal">(int row)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>This method should be called if the value returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForRow(int)">getBackgroundForRow(int)</a></code>
changes. Any cached value is removed and the the new value will be requested when necessary.
</p></div>
</div>
</div>
<A NAME="registerDataSetObserver(android.database.DataSetObserver)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">registerDataSetObserver</span>
<span class="normal">(DataSetObserver observer)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Register an observer to receive callbacks related to the adapter's data changing.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>observer</td>
<td>The <code><a href="../../../../../reference/android/database/DataSetObserver.html">DataSetObserver</a></code> which will receive callbacks.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="restoreState(android.os.Parcelable, java.lang.ClassLoader)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">restoreState</span>
<span class="normal">(Parcelable savedState, ClassLoader classLoader)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Restores the previously saved state of this adapter.
</p></div>
</div>
</div>
<A NAME="saveState()"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
Parcelable
</span>
<span class="sympad">saveState</span>
<span class="normal">()</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Saves the current state of this adapter.
</p></div>
</div>
</div>
<A NAME="setCurrentColumnForRow(int, int)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">setCurrentColumnForRow</span>
<span class="normal">(int row, int currentColumn)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Called to inform the adapter of which column is now current for the given row. This
information could be stored and used to implement <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getCurrentColumnForRow(int, int)">getCurrentColumnForRow(int, int)</a></code>.
The default implementation does nothing.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>row</td>
<td>the row for the column change</td>
</tr>
<tr>
<th>currentColumn</td>
<td>the column which is now current
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="startUpdate(android.view.ViewGroup)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">startUpdate</span>
<span class="normal">(ViewGroup container)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Called when a change in the shown pages is going to start being made.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>container</td>
<td>The containing View which is displaying this adapter's page views.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="unregisterDataSetObserver(android.database.DataSetObserver)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">unregisterDataSetObserver</span>
<span class="normal">(DataSetObserver observer)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Unregister an observer from callbacks related to the adapter's data changing.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>observer</td>
<td>The <code><a href="../../../../../reference/android/database/DataSetObserver.html">DataSetObserver</a></code> which will be unregistered.
</td>
</tr>
</table>
</div>
</div>
</div>
<!-- ========= METHOD DETAIL ======== -->
<h2>Protected Methods</h2>
<A NAME="applyItemPosition(java.lang.Object, android.graphics.Point)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
protected
void
</span>
<span class="sympad">applyItemPosition</span>
<span class="normal">(Object object, Point position)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Called after <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getItemPosition(java.lang.Object)">getItemPosition(Object)</a></code> to allow superclasses to update their
internal bookkeeping if a subclass has overridden <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getItemPosition(java.lang.Object)">getItemPosition(Object)</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>object</td>
<td>Object representing the item passed to <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getItemPosition(java.lang.Object)">getItemPosition(Object)</a></code>.</td>
</tr>
<tr>
<th>position</td>
<td>position which was returned from <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getItemPosition(java.lang.Object)">getItemPosition(Object)</a></code>.
</td>
</tr>
</table>
</div>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<A NAME="navbar_top"></A>
</div> <!-- jd-content -->
<div class="wrap">
<div class="dac-footer">
<div class="cols dac-footer-main">
<div class="col-1of2">
<a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news &amp; tips <span
class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a>
</div>
<div class="col-1of2 dac-footer-reachout">
<div class="dac-footer-contact">
<a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a>
<a class="dac-footer-contact-link" href="/support.html">Support</a>
</div>
<div class="dac-footer-social">
<a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a>
<a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a>
<a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a>
</div>
</div>
</div>
<hr class="dac-footer-separator"/>
<p class="dac-footer-copyright">
Except as noted, this content is licensed under <a
href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
For details and restrictions, see the <a href="../../../../../license.html">
Content License</a>.
</p>
<p class="dac-footer-build">
Android Wearable Support&nbsp;r &mdash;
<script src="../../../../../timestamp.js" type="text/javascript"></script>
<script>document.write(BUILD_TIMESTAMP)</script>
</p>
<p class="dac-footer-links">
<a href="/about/index.html">About Android</a>
<a href="/auto/index.html">Auto</a>
<a href="/tv/index.html">TV</a>
<a href="/wear/index.html">Wear</a>
<a href="/legal.html">Legal</a>
<span id="language" class="locales">
<select name="language" onchange="changeLangPref(this.value, true)">
<option value="en" selected="selected">English</option>
<option value="es">Español</option>
<option value="ja">日本語</option>
<option value="ko">한국어</option>
<option value="pt-br">Português Brasileiro</option>
<option value="ru">Русский</option>
<option value="zh-cn">中文(简体)</option>
<option value="zh-tw">中文(繁體)</option>
</select>
</span>
</p>
</div>
</div> <!-- end footer -->
<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter">
<div class="dac-modal-container">
<div class="dac-modal-window">
<header class="dac-modal-header">
<button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button>
<div class="dac-swap" data-swap-container>
<section class="dac-swap-section dac-active dac-down">
<h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2>
<p class="dac-modal-header-subtitle">&#42; Required Fields</p>
</section>
<section class="dac-swap-section dac-up">
<h2 class="norule dac-modal-header-title">Hooray!</h2>
</section>
</div>
</header>
<div class="dac-swap" data-swap-container>
<section class="dac-swap-section dac-active dac-left">
<form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe">
<section class="dac-modal-content">
<fieldset class="dac-form-fieldset">
<div class="cols">
<div class="col-1of2 newsletter-leftCol">
<div class="dac-form-input-group">
<label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label>
<input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required>
<span class="dac-form-required">*</span>
</div>
<div class="dac-form-input-group">
<label for="newsletter-email" class="dac-form-floatlabel">Email address</label>
<input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required>
<span class="dac-form-required">*</span>
</div>
</div>
<div class="col-1of2 newsletter-rightCol">
<div class="dac-form-input-group">
<label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label>
<input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company">
</div>
<div class="dac-form-input-group">
<label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label>
<input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required>
<span class="dac-form-required">*</span>
</div>
</div>
</div>
</fieldset>
<fieldset class="dac-form-fieldset">
<div class="cols">
<div class="col-1of2 newsletter-leftCol">
<legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span>
</legend>
<div class="dac-form-radio-group">
<input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required>
<label for="newsletter-business-type-app" class="dac-form-radio-button"></label>
<label for="newsletter-business-type-app" class="dac-form-label">Apps</label>
</div>
<div class="dac-form-radio-group">
<input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required>
<label for="newsletter-business-type-games" class="dac-form-radio-button"></label>
<label for="newsletter-business-type-games" class="dac-form-label">Games</label>
</div>
<div class="dac-form-radio-group">
<input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required>
<label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label>
<label for="newsletter-business-type-appsgames" class="dac-form-label">Apps &amp; Games</label>
</div>
</div>
<div class="col-1of2 newsletter-rightCol newsletter-checkboxes">
<div class="dac-form-radio-group">
<div class="dac-media">
<div class="dac-media-figure">
<input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.">
<label for="newsletter-add" class="dac-form-checkbox-button"></label>
</div>
<div class="dac-media-body">
<label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label>
</div>
</div>
</div>
<div class="dac-form-radio-group">
<div class="dac-media">
<div class="dac-media-figure">
<input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/).">
<label for="newsletter-terms" class="dac-form-checkbox-button"></label>
</div>
<div class="dac-media-body">
<label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label>
</div>
</div>
</div>
</div>
</div>
</fieldset>
</section>
<footer class="dac-modal-footer">
<div class="cols">
<div class="col-2of5">
</div>
</div>
<button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button>
</footer>
</form>
</section>
<section class="dac-swap-section dac-right">
<div class="dac-modal-content">
<p class="newsletter-success-message">
You have successfully signed up for the latest Android developer news and tips.
</p>
</div>
</section>
</div>
</div>
</div>
</div> <!-- end footer -->
</div><!-- end doc-content -->
</div> <!-- end .cols -->
</div> <!-- end body-content -->
</body>
</html>