# GridLayoutManager.DefaultSpanSizeLookup

added in[version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  
belongs to Maven artifact com.android.support:recyclerview-v7:28.0.0-alpha1  
Summary:[Ctors](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.DefaultSpanSizeLookup#pubctors)\|[Methods](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.DefaultSpanSizeLookup#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.DefaultSpanSizeLookup#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.DefaultSpanSizeLookup#)  

# GridLayoutManager.DefaultSpanSizeLookup

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

`
public
static
final

class
GridLayoutManager.DefaultSpanSizeLookup
`  
`


``

extends `[GridLayoutManager.SpanSizeLookup](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup)`


``


`

|---|---|-------------------------------------------------------------------|
| java.lang.Object                                                        |||
| ↳ | [android.support.v7.widget.GridLayoutManager.SpanSizeLookup](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup) ||
|   | ↳ | android.support.v7.widget.GridLayoutManager.DefaultSpanSizeLookup |

<br />

*** ** * ** ***

Default implementation for[GridLayoutManager.SpanSizeLookup](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup). Each item occupies 1 span.

## Summary

|                                                                                          ### Public constructors                                                                                          ||
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[GridLayoutManager.DefaultSpanSizeLookup](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.DefaultSpanSizeLookup#GridLayoutManager.DefaultSpanSizeLookup())`() ` |

|                                                                                                                 ### Public methods                                                                                                                 ||
|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` int` | ` `[getSpanIndex](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.DefaultSpanSizeLookup#getSpanIndex(int, int))`(int position, int spanCount) ` Returns the final span index of the provided position. |
| ` int` | ` `[getSpanSize](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.DefaultSpanSizeLookup#getSpanSize(int))`(int position) ` Returns the number of span occupied by the item at`position`.                |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.DefaultSpanSizeLookup#)From class` `[android.support.v7.widget.GridLayoutManager.SpanSizeLookup](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup)` ` |-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` int`          | ` `[getSpanGroupIndex](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup#getSpanGroupIndex(int, int))`(int adapterPosition, int spanCount) ` Returns the index of the group this position belongs.                                                                                                                                                            | | ` int`          | ` `[getSpanIndex](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup#getSpanIndex(int, int))`(int position, int spanCount) ` Returns the final span index of the provided position.                                                                                                                                                                            | | ` abstract int` | ` `[getSpanSize](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup#getSpanSize(int))`(int position) ` Returns the number of span occupied by the item at`position`.                                                                                                                                                                                           | | ` void`         | ` `[invalidateSpanIndexCache](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup#invalidateSpanIndexCache())`() ` Clears the span index cache.                                                                                                                                                                                                                 | | ` boolean`      | ` `[isSpanIndexCacheEnabled](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup#isSpanIndexCacheEnabled())`() ` Returns whether results of[getSpanIndex(int, int)](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup#getSpanIndex(int, int))method are cached or not.                                         | | ` void`         | ` `[setSpanIndexCacheEnabled](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup#setSpanIndexCacheEnabled(boolean))`(boolean cacheSpanIndices) ` Sets whether the results of[getSpanIndex(int, int)](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup#getSpanIndex(int, int))method should be cached or not. | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.DefaultSpanSizeLookup#)From class` java.lang.Object ` |-------------------|-------------------------------| | ` Object`         | ` clone() `                   | | ` boolean`        | ` equals(Object arg0) `       | | ` void`           | ` finalize() `                | | ` final Class<?>` | ` getClass() `                | | ` int`            | ` hashCode() `                | | ` final void`     | ` notify() `                  | | ` final void`     | ` notifyAll() `               | | ` String`         | ` toString() `                | | ` final void`     | ` wait(long arg0, int arg1) ` | | ` final void`     | ` wait(long arg0) `           | | ` final void`     | ` wait() `                    | ||

## Public constructors

### GridLayoutManager.DefaultSpanSizeLookup

added in[version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
GridLayoutManager.DefaultSpanSizeLookup ()
```

<br />

<br />

## Public methods

### getSpanIndex

added in[version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int getSpanIndex (int position, 
                int spanCount)
```

Returns the final span index of the provided position.

If you have a faster way to calculate span index for your items, you should override this method. Otherwise, you should enable span index cache ([setSpanIndexCacheEnabled(boolean)](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup#setSpanIndexCacheEnabled(boolean))) for better performance. When caching is disabled, default implementation traverses all items from 0 to`position`. When caching is enabled, it calculates from the closest cached value before the`position`.

If you override this method, you need to make sure it is consistent with[getSpanSize(int)](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup#getSpanSize(int)). GridLayoutManager does not call this method for each item. It is called only for the reference item and rest of the items are assigned to spans based on the reference item. For example, you cannot assign a position to span 2 while span 1 is empty.

Note that span offsets always start with 0 and are not affected by RTL.

<br />

|                            Parameters                            ||
|-------------|-----------------------------------------------------|
| `position`  | `int`: The position of the item <br />              |
| `spanCount` | `int`: The total number of spans in the grid <br /> |

|                                                   Returns                                                    ||
|-------|-------------------------------------------------------------------------------------------------------|
| `int` | The final span position of the item. Should be between 0 (inclusive) and`spanCount`(exclusive) <br /> |

### getSpanSize

added in[version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int getSpanSize (int position)
```

Returns the number of span occupied by the item at`position`.

<br />

|                         Parameters                         ||
|------------|------------------------------------------------|
| `position` | `int`: The adapter position of the item <br /> |

|                                     Returns                                     ||
|-------|--------------------------------------------------------------------------|
| `int` | The number of spans occupied by the item at the provided position <br /> |

-

  ## Annotations

  - [RecyclerView.EdgeEffectFactory.EdgeDirection](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.EdgeEffectFactory.EdgeDirection)
  - [RecyclerView.ItemAnimator.AdapterChanges](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.AdapterChanges)
-

  ## Interfaces

  - [ActionMenuView.OnMenuItemClickListener](https://developer.android.com/reference/android/support/v7/widget/ActionMenuView.OnMenuItemClickListener)
  - [PopupMenu.OnDismissListener](https://developer.android.com/reference/android/support/v7/widget/PopupMenu.OnDismissListener)
  - [PopupMenu.OnMenuItemClickListener](https://developer.android.com/reference/android/support/v7/widget/PopupMenu.OnMenuItemClickListener)
  - [RecyclerView.ChildDrawingOrderCallback](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ChildDrawingOrderCallback)
  - [RecyclerView.ItemAnimator.ItemAnimatorFinishedListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemAnimatorFinishedListener)
  - [RecyclerView.LayoutManager.LayoutPrefetchRegistry](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager.LayoutPrefetchRegistry)
  - [RecyclerView.OnChildAttachStateChangeListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnChildAttachStateChangeListener)
  - [RecyclerView.OnItemTouchListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnItemTouchListener)
  - [RecyclerView.RecyclerListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.RecyclerListener)
  - [RecyclerView.SmoothScroller.ScrollVectorProvider](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller.ScrollVectorProvider)
  - [SearchView.OnCloseListener](https://developer.android.com/reference/android/support/v7/widget/SearchView.OnCloseListener)
  - [SearchView.OnQueryTextListener](https://developer.android.com/reference/android/support/v7/widget/SearchView.OnQueryTextListener)
  - [SearchView.OnSuggestionListener](https://developer.android.com/reference/android/support/v7/widget/SearchView.OnSuggestionListener)
  - [ShareActionProvider.OnShareTargetSelectedListener](https://developer.android.com/reference/android/support/v7/widget/ShareActionProvider.OnShareTargetSelectedListener)
  - [ThemedSpinnerAdapter](https://developer.android.com/reference/android/support/v7/widget/ThemedSpinnerAdapter)
  - [Toolbar.OnMenuItemClickListener](https://developer.android.com/reference/android/support/v7/widget/Toolbar.OnMenuItemClickListener)
-

  ## Classes

  - [ActionMenuView](https://developer.android.com/reference/android/support/v7/widget/ActionMenuView)
  - [ActionMenuView.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/ActionMenuView.LayoutParams)
  - [AppCompatAutoCompleteTextView](https://developer.android.com/reference/android/support/v7/widget/AppCompatAutoCompleteTextView)
  - [AppCompatButton](https://developer.android.com/reference/android/support/v7/widget/AppCompatButton)
  - [AppCompatCheckBox](https://developer.android.com/reference/android/support/v7/widget/AppCompatCheckBox)
  - [AppCompatCheckedTextView](https://developer.android.com/reference/android/support/v7/widget/AppCompatCheckedTextView)
  - [AppCompatEditText](https://developer.android.com/reference/android/support/v7/widget/AppCompatEditText)
  - [AppCompatImageButton](https://developer.android.com/reference/android/support/v7/widget/AppCompatImageButton)
  - [AppCompatImageView](https://developer.android.com/reference/android/support/v7/widget/AppCompatImageView)
  - [AppCompatMultiAutoCompleteTextView](https://developer.android.com/reference/android/support/v7/widget/AppCompatMultiAutoCompleteTextView)
  - [AppCompatRadioButton](https://developer.android.com/reference/android/support/v7/widget/AppCompatRadioButton)
  - [AppCompatRatingBar](https://developer.android.com/reference/android/support/v7/widget/AppCompatRatingBar)
  - [AppCompatSeekBar](https://developer.android.com/reference/android/support/v7/widget/AppCompatSeekBar)
  - [AppCompatSpinner](https://developer.android.com/reference/android/support/v7/widget/AppCompatSpinner)
  - [AppCompatTextView](https://developer.android.com/reference/android/support/v7/widget/AppCompatTextView)
  - [CardView](https://developer.android.com/reference/android/support/v7/widget/CardView)
  - [DefaultItemAnimator](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator)
  - [DividerItemDecoration](https://developer.android.com/reference/android/support/v7/widget/DividerItemDecoration)
  - [GridLayout](https://developer.android.com/reference/android/support/v7/widget/GridLayout)
  - [GridLayout.Alignment](https://developer.android.com/reference/android/support/v7/widget/GridLayout.Alignment)
  - [GridLayout.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/GridLayout.LayoutParams)
  - [GridLayout.Spec](https://developer.android.com/reference/android/support/v7/widget/GridLayout.Spec)
  - [GridLayoutManager](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager)
  - [GridLayoutManager.DefaultSpanSizeLookup](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.DefaultSpanSizeLookup)
  - [GridLayoutManager.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.LayoutParams)
  - [GridLayoutManager.SpanSizeLookup](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup)
  - [LinearLayoutCompat](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutCompat)
  - [LinearLayoutCompat.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutCompat.LayoutParams)
  - [LinearLayoutManager](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager)
  - [LinearLayoutManager.LayoutChunkResult](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager.LayoutChunkResult)
  - [LinearSmoothScroller](https://developer.android.com/reference/android/support/v7/widget/LinearSmoothScroller)
  - [LinearSnapHelper](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper)
  - [ListPopupWindow](https://developer.android.com/reference/android/support/v7/widget/ListPopupWindow)
  - [OrientationHelper](https://developer.android.com/reference/android/support/v7/widget/OrientationHelper)
  - [PagerSnapHelper](https://developer.android.com/reference/android/support/v7/widget/PagerSnapHelper)
  - [PopupMenu](https://developer.android.com/reference/android/support/v7/widget/PopupMenu)
  - [RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView)
  - [RecyclerView.Adapter](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter)
  - [RecyclerView.AdapterDataObserver](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.AdapterDataObserver)
  - [RecyclerView.EdgeEffectFactory](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.EdgeEffectFactory)
  - [RecyclerView.ItemAnimator](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator)
  - [RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)
  - [RecyclerView.ItemDecoration](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemDecoration)
  - [RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)
  - [RecyclerView.LayoutManager.Properties](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager.Properties)
  - [RecyclerView.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutParams)
  - [RecyclerView.OnFlingListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnFlingListener)
  - [RecyclerView.OnScrollListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnScrollListener)
  - [RecyclerView.RecycledViewPool](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.RecycledViewPool)
  - [RecyclerView.Recycler](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Recycler)
  - [RecyclerView.SimpleOnItemTouchListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SimpleOnItemTouchListener)
  - [RecyclerView.SmoothScroller](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller)
  - [RecyclerView.SmoothScroller.Action](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller.Action)
  - [RecyclerView.State](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.State)
  - [RecyclerView.ViewCacheExtension](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewCacheExtension)
  - [RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)
  - [RecyclerViewAccessibilityDelegate](https://developer.android.com/reference/android/support/v7/widget/RecyclerViewAccessibilityDelegate)
  - [RecyclerViewAccessibilityDelegate.ItemDelegate](https://developer.android.com/reference/android/support/v7/widget/RecyclerViewAccessibilityDelegate.ItemDelegate)
  - [SearchView](https://developer.android.com/reference/android/support/v7/widget/SearchView)
  - [ShareActionProvider](https://developer.android.com/reference/android/support/v7/widget/ShareActionProvider)
  - [SimpleItemAnimator](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator)
  - [SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper)
  - [StaggeredGridLayoutManager](https://developer.android.com/reference/android/support/v7/widget/StaggeredGridLayoutManager)
  - [StaggeredGridLayoutManager.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/StaggeredGridLayoutManager.LayoutParams)
  - [SwitchCompat](https://developer.android.com/reference/android/support/v7/widget/SwitchCompat)
  - [ThemedSpinnerAdapter.Helper](https://developer.android.com/reference/android/support/v7/widget/ThemedSpinnerAdapter.Helper)
  - [Toolbar](https://developer.android.com/reference/android/support/v7/widget/Toolbar)
  - [Toolbar.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/Toolbar.LayoutParams)
  - [Toolbar.SavedState](https://developer.android.com/reference/android/support/v7/widget/Toolbar.SavedState)
  - [TooltipCompat](https://developer.android.com/reference/android/support/v7/widget/TooltipCompat)