сделал кнопку для распознавания речи, а она не работает
значит есть слушатель кнопки
binding.button.setOnClickListener {
if (list){
binding.nameplaintext.background = resources.getDrawable(R.drawable.edittext)
}
else {
binding.nameplaintext.background = resources.getDrawable(R.drawable.edittext)
binding.noteplaintext.background = resources.getDrawable(R.drawable.edittext)
}
binding.nameplaintext.setOnClickListener {
var intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH)
intent.putExtra(
RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM
)
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault())
startActivityForResult(intent, 0)
binding.nameplaintext.background = null
binding.noteplaintext.background = null
}
binding.noteplaintext.setOnClickListener {
var intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH)
intent.putExtra(
RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM
)
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault())
startActivityForResult(intent, 1)
binding.nameplaintext.background = null
binding.noteplaintext.background = null
}
}
а это функция для передачи данных из экрана распознавания речи
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == AppCompatActivity.RESULT_OK && data != null) {
if (requestCode == 0) {
val voice: ArrayList<String>? =
data?.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS) as ArrayList<String>
binding.nameplaintext.setText(
binding.nameplaintext.text.toString() + " " + voice?.get(0)
)
}
if (requestCode == 1) {
val voice: ArrayList<String>? =
data?.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS) as ArrayList<String>
binding.noteplaintext.setText(
binding.noteplaintext.text.toString() + " " + voice?.get(0)
)
}
}
всо как бы должно быть нормальнго, и всо нормально когда экран распознавания речи появляется , приложение крашится, без какой либо ошибки, дебагом, я посмотрел и до функциии передачи данных(onActivityResult) даже не доходит помогите понять в чом проблема