Как разместить текст в текстовом поле вместо тоста?

Привет, люди, я новичок в Android и Kotlin, не могли бы вы помочь мне с этим, пожалуйста.

recognizer.recognize(ink)
            .addOnSuccessListener { result: RecognitionResult ->
                Toast.makeText(context, "I see ${result.candidates[0].text}", Toast.LENGTH_LONG)
                    .show()
            }

здесь результаты публикуются в тосте, и я хочу, чтобы они были в текстовом поле, как это сделать?


person Kuro    schedule 03.10.2020    source источник
comment
Отвечает ли это на ваш вопрос? Настройка текста в EditText Kotlin   -  person Nicolas    schedule 03.10.2020
comment
вместо Toast.makeText() я должен использовать text_view.setText(${result.candidates[0].text}). здесь text_view - это имя моего текстового поля?   -  person Kuro    schedule 03.10.2020
comment
Да, точно. Текстовое представление должно быть объявлено в вашем макете XML.   -  person Nicolas    schedule 04.10.2020
comment
спасибо, Николас, и мне не нужно ничего делать в основной деятельности   -  person Kuro    schedule 04.10.2020


Ответы (2)


Вам нужно будет определить TextView в вашем файле макета, а затем setText(...) с результатом обнаружения, который вы получите в onSuccessListener.

person Chenxi Song    schedule 09.10.2020

Вы можете использовать SnackBar. Добавьте это в свой код:

    fun showSnackBar(message: String) {
    val snackBar =
        Snackbar.make(findViewById(android.R.id.content), message, 
    Snackbar.LENGTH_LONG)
    val snackBarView = snackBar.view
    snackBarView.setBackgroundColor(
        ContextCompat.getColor(
            this@BaseActivity,
            R.color.PUTCOLORHERE
        )
    )
    snackBar.show()
}

Вы можете заменить свой тост следующим образом:

recognizer.recognize(ink)
        .addOnSuccessListener { result: RecognitionResult ->
          showSnackBar("PUT WORDS HERE")
        }
person gary23w    schedule 09.10.2020