# SegmentFinder.PrescribedSegmentFinder

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

# PrescribedSegmentFinder

*** ** * ** ***

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

```
open class PrescribedSegmentFinder : SegmentFinder
```

|---|---|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                              |||
| ↳ | [android.text.SegmentFinder](https://developer.android.com/reference/kotlin/android/text/SegmentFinder)                                                     ||
|   | ↳ | [android.text.SegmentFinder.PrescribedSegmentFinder](https://developer.android.com/reference/kotlin/android/text/SegmentFinder.PrescribedSegmentFinder#) |

The default[SegmentFinder](https://developer.android.com/reference/kotlin/android/text/SegmentFinder)implementation based on given segment ranges.

## Summary

| Inherited constants ||
|---|---|
| From class[SegmentFinder](https://developer.android.com/reference/kotlin/android/text/SegmentFinder) |----------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [DONE](https://developer.android.com/reference/kotlin/android/text/SegmentFinder#DONE:kotlin.Int) <br /> Return value of previousStartBoundary(int), previousEndBoundary(int), nextStartBoundary(int), and nextEndBoundary(int) when there are no boundaries of the specified type in the specified direction. <br /> | ||

|                                                                                                                                                                                                                      Public constructors                                                                                                                                                                                                                      ||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [PrescribedSegmentFinder](https://developer.android.com/reference/kotlin/android/text/SegmentFinder.PrescribedSegmentFinder#PrescribedSegmentFinder(kotlin.IntArray))`(`segments:` `[IntArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int-array/index.html)`)` Create a SegmentFinder with segments stored in an array, where i-th segment's start is stored at segments\[2 \* i\] and end is stored at segments\[2 \* i + 1\] respectively. |

|                                                                                                                                                                                                                                  Public methods                                                                                                                                                                                                                                   ||
|--------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| open[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [nextEndBoundary](https://developer.android.com/reference/kotlin/android/text/SegmentFinder.PrescribedSegmentFinder#nextEndBoundary(kotlin.Int))`(`offset:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the character offset of the next text segment end boundary after the specified character offset, or`DONE`if there are none.                    |
| open[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [nextStartBoundary](https://developer.android.com/reference/kotlin/android/text/SegmentFinder.PrescribedSegmentFinder#nextStartBoundary(kotlin.Int))`(`offset:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the character offset of the next text segment start boundary after the specified character offset, or`DONE`if there are none.              |
| open[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [previousEndBoundary](https://developer.android.com/reference/kotlin/android/text/SegmentFinder.PrescribedSegmentFinder#previousEndBoundary(kotlin.Int))`(`offset:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the character offset of the previous text segment end boundary before the specified character offset, or`DONE`if there are none.       |
| open[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [previousStartBoundary](https://developer.android.com/reference/kotlin/android/text/SegmentFinder.PrescribedSegmentFinder#previousStartBoundary(kotlin.Int))`(`offset:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the character offset of the previous text segment start boundary before the specified character offset, or`DONE`if there are none. |

## Public constructors

### PrescribedSegmentFinder

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

```
PrescribedSegmentFinder(segments: IntArray)
```

Create a SegmentFinder with segments stored in an array, where i-th segment's start is stored at segments\[2 \* i\] and end is stored at segments\[2 \* i + 1\] respectively.

It is required that segments do not overlap, and are already sorted by their start indices.

|                                                                 Parameters                                                                  ||
|------------|---------------------------------------------------------------------------------------------------------------------------------|
| `segments` | [IntArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int-array/index.html):the array that stores the segment ranges. |

|                                                                              Exceptions                                                                              ||
|--------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|
| `java.lang.IllegalArgumentException` | if the given segments array's length is not even; the given segments are not sorted or there are segments overlap with others. |

## Public methods

### nextEndBoundary

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

```
open fun nextEndBoundary(offset: Int): Int
```

Returns the character offset of the next text segment end boundary after the specified character offset, or`DONE`if there are none.

|                                                 Parameters                                                 ||
|----------|--------------------------------------------------------------------------------------------------|
| `offset` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):Value is 0 or greater |

### nextStartBoundary

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

```
open fun nextStartBoundary(offset: Int): Int
```

Returns the character offset of the next text segment start boundary after the specified character offset, or`DONE`if there are none.

|                                                 Parameters                                                 ||
|----------|--------------------------------------------------------------------------------------------------|
| `offset` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):Value is 0 or greater |

### previousEndBoundary

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

```
open fun previousEndBoundary(offset: Int): Int
```

Returns the character offset of the previous text segment end boundary before the specified character offset, or`DONE`if there are none.

|                                                 Parameters                                                 ||
|----------|--------------------------------------------------------------------------------------------------|
| `offset` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):Value is 0 or greater |

### previousStartBoundary

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

```
open fun previousStartBoundary(offset: Int): Int
```

Returns the character offset of the previous text segment start boundary before the specified character offset, or`DONE`if there are none.

|                                                 Parameters                                                 ||
|----------|--------------------------------------------------------------------------------------------------|
| `offset` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):Value is 0 or greater |