# ClassPresenterSelector

Artifact: [androidx.leanback:leanback](https://developer.android.com/jetpack/androidx/releases/leanback) [View Source](https://cs.android.com/search?q=file:androidx/leanback/widget/ClassPresenterSelector.java+class:androidx.leanback.widget.ClassPresenterSelector) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

*** ** * ** ***

<br />

```
class ClassPresenterSelector : PresenterSelector
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.leanback.widget.PresenterSelector](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PresenterSelector) ||
|   | ↳ | [androidx.leanback.widget.ClassPresenterSelector](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ClassPresenterSelector) |

*** ** * ** ***

A ClassPresenterSelector selects a `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter` based on the item's Java class.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ClassPresenterSelector#ClassPresenterSelector()()` |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ClassPresenterSelector!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ClassPresenterSelector#addClassPresenter(java.lang.Class<?>,androidx.leanback.widget.Presenter)(cls: https://developer.android.com/reference/java/lang/Class.html<*>!, presenter: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter!)` Sets a presenter to be used for the given class. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ClassPresenterSelector!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ClassPresenterSelector#addClassPresenterSelector(java.lang.Class<?>,androidx.leanback.widget.PresenterSelector)( cls: https://developer.android.com/reference/java/lang/Class.html<*>!, presenterSelector: https://developer.android.com/reference/kotlin/androidx/leanback/widget/PresenterSelector! )` Sets a presenter selector to be used for the given class. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter?` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ClassPresenterSelector#getPresenter(java.lang.Object)(item: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` Returns a presenter for the given item. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter!>!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ClassPresenterSelector#getPresenters()()` Returns an array of all possible presenters. |

## Public constructors

### ClassPresenterSelector

Added in 1.1.0

```
ClassPresenterSelector()
```

## Public functions

### addClassPresenter

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

```
fun addClassPresenter(cls: Class<*>!, presenter: Presenter!): ClassPresenterSelector!
```

Sets a presenter to be used for the given class.

| Parameters |
|---|---|
| `cls: https://developer.android.com/reference/java/lang/Class.html<*>!` | The data model class to be rendered. |
| `presenter: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter!` | The presenter that renders the objects of the given class. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ClassPresenterSelector!` | This ClassPresenterSelector object. |

### addClassPresenterSelector

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

```
fun addClassPresenterSelector(
    cls: Class<*>!,
    presenterSelector: PresenterSelector!
): ClassPresenterSelector!
```

Sets a presenter selector to be used for the given class.

| Parameters |
|---|---|
| `cls: https://developer.android.com/reference/java/lang/Class.html<*>!` | The data model class to be rendered. |
| `presenterSelector: https://developer.android.com/reference/kotlin/androidx/leanback/widget/PresenterSelector!` | The presenter selector that finds the right presenter for a given class. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ClassPresenterSelector!` | This ClassPresenterSelector object. |

### getPresenter

```
fun getPresenter(item: Any?): Presenter?
```

Returns a presenter for the given item.

### getPresenters

```
fun getPresenters(): Array<Presenter!>!
```

Returns an array of all possible presenters. The returned array should not be modified.