Perform next-word prediction with text-autocompletion, all in Android. The library uses Rust internally, to bring text-suggestions within a few-milliseconds. See the rust branch for more details.
- Download
text-predictor.aarfrom the latest release. (See Releases) - Move the AAR to
app/libs. - In module-level
build.gradle, add the dependency,
dependencies {
...
implementation files('libs/text-predictor.aar')
...
}To generate suggestions while text is being entered in a text-widget (could be a EditText or TextField), we use
the stream method available in the TextPredictor class. The stream method must be called inside on a onTextChanged or a
similar callback that provides a string entered by the user.
For a Compose TextField,
val textPredictor = TextPredictor( this , results )
var inputString by remember{ mutableStateOf("") }
TextField(
modifier = modifier,
value = inputString,,
onValueChange = {
textPredictor.stream(it)
inputString = it
},
singleLine = true,
)
private val results: ((List<String>) -> Unit) = { suggestions ->
// Handle UI changes that display `suggestions`
}For a View-based EditText,
val textPredictor = TextPredictor( this , results )
editText.addTextChangedListener { it ->
textPredictor.stream( it.toString() )
}
private val results: ((List<String>) -> Unit) = { suggestions ->
// Handle UI changes that display `suggestions`
}