Android РАСПОЗНАЕТ_СПИЧ_АКТИВНОСТЬ из-за проблемы (для?)

#java #android

#java #Android

Вопрос:

Создав этот метод, я пытался преобразовать строку (strSpeech2Text) в символы и назначить их каждому для T1, T2 и т.д. текстовых представлений.

Если я не пытаюсь повторно использовать foreach, чтобы сделать это, я получаю, что каждому текстовому представлению присваивается целое слово. Итак, подпись работает..

Что в этом плохого?

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
        case RECOGNIZE_SPEECH_ACTIVITY:
            if (resultCode == RESULT_OK amp;amp; null != data) {
                ArrayList<String> speech = data
                        .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
                String strSpeech2Text = speech.get(0);
                grabar.setText(strSpeech2Text);


                TextView T1;
                T1 = (TextView) findViewById(R.id.TIRADA0);
                TextView T2;
                T2 = (TextView) findViewById(R.id.TIRADA1);
                TextView T3;
                T3 = (TextView) findViewById(R.id.TIRADA2);
                TextView T4;
                T4 = (TextView) findViewById(R.id.TIRADA3);



                //String v;
                String a = strSpeech2Text;
                int n = 0;
                for (TextView i : Arrays.asList(T1, T2, T3, T4)) {
                    Character v = a.charAt(n);
                    i.setText(Character.toString(v));
                    n  ;
                }


            }
            break;
        default:
            break;
    }
}
  

Ответ №1:

Попробуйте это вместо этого. Я не тестировал это, но для меня это выглядит хорошо:

 ArrayList<TextView> textViews = Arrays.asList(T1, T2, T3, T4);    

for (int i=0; i<textViews.size() amp;amp; strSpeech2Text.length>i; i  ) {
    textViews.get(i).setText(strSpeech2Text.substring(i,i 1));
}