then
Function
Common
fun InputTransformation.then(next: InputTransformation): InputTransformation
Creates a filter chain that will run next
after this. Filters are applied sequentially, so any
changes made by this filter will be visible to next
.
The returned filter will use the KeyboardOptions
from next
if non-null, otherwise it will use
the options from this transformation.
Parameters
next | The InputTransformation that will be ran after this one. |
Code Examples
BasicTextFieldInputTransformationChainingSample
fun BasicTextFieldInputTransformationChainingSample() {
val removeFirstEFilter = InputTransformation {
val index = asCharSequence().indexOf('e')
if (index != -1) {
replace(index, index + 1, "")
}
}
val printECountFilter = InputTransformation {
println("found ${asCharSequence().count { it == 'e' }} 'e's in the string")
}
// Returns a filter that always prints 0 e's.
removeFirstEFilter.then(printECountFilter)
// Returns a filter that prints the number of e's before the first one is removed.
printECountFilter.then(removeFirstEFilter)
}