сделал кнопку для распознавания речи, а она не работает

значит есть слушатель кнопки

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) даже не доходит помогите понять в чом проблема


Ответы (0 шт):