# UiThread

Artifact: [androidx.annotation:annotation](https://developer.android.com/jetpack/androidx/releases/annotation) [View Source](https://cs.android.com/search?q=file:androidx/annotation/UiThread.kt+class:androidx.annotation.UiThread) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/annotation#1.0.0)

*** ** * ** ***

Common/AllAndroid/JVM
- Cmn

  ```
  @MustBeDocumented
  @Retention(value = AnnotationRetention.BINARY)
  @Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CLASS, AnnotationTarget.VALUE_PARAMETER])
  annotation UiThread
  ```

*** ** * ** ***

Denotes that the annotated method or constructor should only be called on the UI thread. If the annotated element is a class, then all methods in the class should be called on the UI thread.

Example:

```kotlin
@UiThread
public abstract void setText(@NonNull String text) { ... }
```

**Note:** Ordinarily, an app's UI thread is also the main thread. However, under special circumstances, an app's UI thread might not be its main thread; for more information, see [Thread annotations](https://developer.android.com/studio/write/annotations#thread-annotations).

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/annotation/MainThread` |   |

## Summary

| ### Public constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/annotation/UiThread#UiThread()()` | Cmn |

## Public constructors

### UiThread

Cmn

```
UiThread()
```