# AccessibilityNodeInfoCompat.CollectionInfoCompat

Artifact: [androidx.core:core](https://developer.android.com/jetpack/androidx/releases/core) [View Source](https://cs.android.com/search?q=file:androidx/core/view/accessibility/AccessibilityNodeInfoCompat.java+class:androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

*** ** * ** ***


```
public class AccessibilityNodeInfoCompat.CollectionInfoCompat
```

<br />

*** ** * ** ***

Class with information if a node is a collection.

A collection of items has rows and columns and may be marked as hierarchical.

For example, a list where the items are placed in a vertical layout is a collection with one column and as many rows as the list items. This collection has 3 rows and 1 column and should not be marked as hierarchical since items do not exist at different levels/ranks and there are no nested collections.

- Item 1
- Item 2
- Item 3

A table is a collection with several rows and several columns. This collection has 2 rows and 3 columns and is not marked as hierarchical:

|---|---|---|
| Item 1 | Item 2 | Item 3 |
| Item 4 | Item 5 | Item 6 |

Nested collections could be marked as hierarchical. To add outer and inner collections to the same hierarchy, mark them both as hierarchical.

For example, if you have a collection with two lists - this collection has an outer list with 3 rows and 1 column and an inner list within "Item 2" with 2 rows and 1 - you can mark both the outer list and the inner list as hierarchical to make them part of the same hierarchy. If a collection does not have any ancestor or descendant hierarchical collections, it does not need to be marked as hierarchical.

- Item 1
- Item 2
  - Item 2A
  - Item 2B
- Item 3

To be a valid list, a collection has 1 row and any number of columns or 1 column and any number of rows.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat.Builder` Class for building `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat` objects. |

| ### Constants |
|---|---|
| `static final int` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#SELECTION_MODE_MULTIPLE() = 2` Selection mode where multiple items may be selected. |
| `static final int` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#SELECTION_MODE_NONE() = 0` Selection mode where items are not selectable. |
| `static final int` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#SELECTION_MODE_SINGLE() = 1` Selection mode where a single item may be selected. |
| `static final int` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#UNDEFINED() = -1` Constant to denote a missing collection count. |

| ### Public methods |
|---|---|
| `int` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#getColumnCount()()` Gets the number of columns. |
| `int` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#getImportantForAccessibilityItemCount()()` Gets the number of items in the collection considered important for accessibility. |
| `int` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#getItemCount()()` Gets the number of items in the collection. |
| `int` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#getRowCount()()` Gets the number of rows. |
| `int` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#getSelectionMode()()` Gets the collection's selection mode. |
| `boolean` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#isHierarchical()()` Gets if the collection is a hierarchically ordered. |
| `static https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#obtain(int,int,boolean)(int rowCount, int columnCount, boolean hierarchical)` Returns a cached instance if such is available otherwise a new one. |
| `static https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#obtain(int,int,boolean,int)( int rowCount, int columnCount, boolean hierarchical, int selectionMode )` Returns a cached instance if such is available otherwise a new one. |

## Constants

### SELECTION_MODE_MULTIPLE

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public static final int SELECTION_MODE_MULTIPLE = 2
```

Selection mode where multiple items may be selected.

### SELECTION_MODE_NONE

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public static final int SELECTION_MODE_NONE = 0
```

Selection mode where items are not selectable.

### SELECTION_MODE_SINGLE

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public static final int SELECTION_MODE_SINGLE = 1
```

Selection mode where a single item may be selected.

### UNDEFINED

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/core#1.15.0)

```
public static final int UNDEFINED = -1
```

Constant to denote a missing collection count. This should be used for `mItemCount` and `mImportantForAccessibilityItemCount` when values for those fields are not known.

## Public methods

### getColumnCount

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public int getColumnCount()
```

Gets the number of columns.

| Returns |
|---|---|
| `int` | The column count, or -1 if count is unknown. |

### getImportantForAccessibilityItemCount

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/core#1.15.0)

```
public int getImportantForAccessibilityItemCount()
```

Gets the number of items in the collection considered important for accessibility.

| Returns |
|---|---|
| `int` | The count of items important for accessibility, which may be `UNDEFINED` if the count is not known. |

### getItemCount

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/core#1.15.0)

```
public int getItemCount()
```

Gets the number of items in the collection.

| Returns |
|---|---|
| `int` | The count of items, which may be `UNDEFINED` if the count is not known. |

### getRowCount

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public int getRowCount()
```

Gets the number of rows.

| Returns |
|---|---|
| `int` | The row count, or -1 if count is unknown. |

### getSelectionMode

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public int getSelectionMode()
```

Gets the collection's selection mode.

| Returns |
|---|---|
| `int` | The collection's selection mode, one of: - `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#SELECTION_MODE_NONE()` - `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#SELECTION_MODE_SINGLE()` - `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#SELECTION_MODE_MULTIPLE()` |

### isHierarchical

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public boolean isHierarchical()
```

Gets if the collection is a hierarchically ordered.

| Returns |
|---|---|
| `boolean` | Whether the collection is hierarchical. |

### obtain

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public static AccessibilityNodeInfoCompat.CollectionInfoCompat obtain(int rowCount, int columnCount, boolean hierarchical)
```

Returns a cached instance if such is available otherwise a new one.

| Parameters |
|---|---|
| `int rowCount` | The number of rows, or -1 if count is unknown. |
| `int columnCount` | The number of columns , or -1 if count is unknown. |
| `boolean hierarchical` | Whether the collection is hierarchical. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat` | An instance. |

### obtain

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public static AccessibilityNodeInfoCompat.CollectionInfoCompat obtain(
    int rowCount,
    int columnCount,
    boolean hierarchical,
    int selectionMode
)
```

Returns a cached instance if such is available otherwise a new one.

| Parameters |
|---|---|
| `int rowCount` | The number of rows. |
| `int columnCount` | The number of columns. |
| `boolean hierarchical` | Whether the collection is hierarchical. |
| `int selectionMode` | The collection's selection mode, one of: - `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#SELECTION_MODE_NONE()` - `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#SELECTION_MODE_SINGLE()` - `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat#SELECTION_MODE_MULTIPLE()` |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat` | An instance. |