# MessagePattern.ArgType

Added in[API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# ArgType

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/icu/text/MessagePattern.ArgType "View this page in Java")  

```
class ArgType
```

|---|---|------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                        |||
| ↳ | [kotlin.Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)\<[android.icu.text.MessagePattern.ArgType](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#)\> ||
|   | ↳ | [android.icu.text.MessagePattern.ArgType](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#) |

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known Direct Subclasses [MessagePattern.ArgType.CHOICE](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:CHOICE),[MessagePattern.ArgType.NONE](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:NONE),[MessagePattern.ArgType.PLURAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:PLURAL),[MessagePattern.ArgType.SELECT](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:SELECT),[MessagePattern.ArgType.SELECTORDINAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:SELECTORDINAL),[MessagePattern.ArgType.SIMPLE](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:SIMPLE) |---------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [MessagePattern.ArgType.CHOICE](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:CHOICE)               | The argument is a ChoiceFormat with one or more ((ARG_INT \| ARG_DOUBLE), ARG_SELECTOR, message) tuples.                                                                                                     | | [MessagePattern.ArgType.NONE](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:NONE)                   | The argument has no specified type.                                                                                                                                                                          | | [MessagePattern.ArgType.PLURAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:PLURAL)               | The argument is a cardinal-number PluralFormat with an optional ARG_INT or ARG_DOUBLE offset (e.g., offset:1) and one or more (ARG_SELECTOR \[explicit-value\] message) tuples.                              | | [MessagePattern.ArgType.SELECT](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:SELECT)               | The argument is a SelectFormat with one or more (ARG_SELECTOR, message) pairs.                                                                                                                               | | [MessagePattern.ArgType.SELECTORDINAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:SELECTORDINAL) | The argument is an ordinal-number PluralFormat with the same style parts sequence and semantics as[ArgType.PLURAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#). | | [MessagePattern.ArgType.SIMPLE](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:SIMPLE)               | The argument has a "simple" type which is provided by the ARG_TYPE part.                                                                                                                                     | |

Argument type constants. Returned by Part.getArgType() for ARG_START and ARG_LIMIT parts. Messages nested inside an argument are each delimited by MSG_START and MSG_LIMIT, with a nesting level one greater than the surrounding message.

## Summary

|                                                                                                                                                                   Enum values                                                                                                                                                                    ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [CHOICE](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:CHOICE) The argument is a ChoiceFormat with one or more ((ARG_INT \| ARG_DOUBLE), ARG_SELECTOR, message) tuples.                                                                                                                   |
| [NONE](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:NONE) The argument has no specified type.                                                                                                                                                                                            |
| [PLURAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:PLURAL) The argument is a cardinal-number PluralFormat with an optional ARG_INT or ARG_DOUBLE offset (e.g., offset:1) and one or more (ARG_SELECTOR \[explicit-value\] message) tuples.                                            |
| [SELECT](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:SELECT) The argument is a SelectFormat with one or more (ARG_SELECTOR, message) pairs.                                                                                                                                             |
| [SELECTORDINAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:SELECTORDINAL) The argument is an ordinal-number PluralFormat with the same style parts sequence and semantics as[ArgType.PLURAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#). |
| [SIMPLE](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#ENUM_VALUE:SIMPLE) The argument has a "simple" type which is provided by the ARG_TYPE part.                                                                                                                                                   |

|                                                                                                      Public methods                                                                                                      ||
|------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [hasPluralStyle](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#hasPluralStyle())`()` <br /> |

## Enum values

### CHOICE

Added in[API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
enum val CHOICE : MessagePattern.ArgType
```

The argument is a ChoiceFormat with one or more ((ARG_INT \| ARG_DOUBLE), ARG_SELECTOR, message) tuples.  

### NONE

Added in[API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
enum val NONE : MessagePattern.ArgType
```

The argument has no specified type.  

### PLURAL

Added in[API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
enum val PLURAL : MessagePattern.ArgType
```

The argument is a cardinal-number PluralFormat with an optional ARG_INT or ARG_DOUBLE offset (e.g., offset:1) and one or more (ARG_SELECTOR \[explicit-value\] message) tuples. If the selector has an explicit value (e.g., =2), then that value is provided by the ARG_INT or ARG_DOUBLE part preceding the message. Otherwise the message immediately follows the ARG_SELECTOR.  

### SELECT

Added in[API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
enum val SELECT : MessagePattern.ArgType
```

The argument is a SelectFormat with one or more (ARG_SELECTOR, message) pairs.  

### SELECTORDINAL

Added in[API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
enum val SELECTORDINAL : MessagePattern.ArgType
```

The argument is an ordinal-number PluralFormat with the same style parts sequence and semantics as[ArgType.PLURAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#).  

### SIMPLE

Added in[API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
enum val SIMPLE : MessagePattern.ArgType
```

The argument has a "simple" type which is provided by the ARG_TYPE part. An ARG_STYLE part might follow that.

## Public methods

### hasPluralStyle

Added in[API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun hasPluralStyle(): Boolean
```

|                                                                                                                                                                                                 Return                                                                                                                                                                                                 ||
|------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | true if the argument type has a plural style part sequence and semantics, for example[ArgType.PLURAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#)and[ArgType.SELECTORDINAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ArgType#). |