Распознавание голоса Google Glass

Что я пытался сделать:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

ArrayList<String> voiceResults = getIntent().getExtras()
.getStringArrayList(RecognizerIntent.EXTRA_RESULTS);

Card ShowDataCard = new Card(this);
ShowDataCard.setText(voiceResults);
View ShowDataCardView = ShowDataCard.toView();
setContentView(ShowDataCardView);
}

Неудачный обходной путь:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    String voiceResults = getIntent().getExtras()
            .getString(RecognizerIntent.EXTRA_RESULTS);

    Card ShowDataCard = new Card(this);
    ShowDataCard.setText(voiceResults);
    View ShowDataCardView = ShowDataCard.toView();
    setContentView(ShowDataCardView);
}

String voiceResults - это неудачный обходной путь к тому факту, что я не могу .setText в строку arraylist

Фактический код распознавания голоса:

ArrayList<String> voiceResults = getIntent().getExtras()
    .getStringArrayList(RecognizerIntent.EXTRA_RESULTS);

В основном я пытаюсь сохранить это распознавание голоса (собираюсь использовать SharedPreferences), но по какой-то причине это строка массива, а не просто строка. Кто-нибудь знает, как сохранить его как строку? (или опубликовать действие со строкой массива)


person Vincent Taglia    schedule 09.12.2013    source источник


Ответы (1)


Поскольку результаты представляют собой ArrayList строк, вы должны проверить, что size() в списке не меньше 1, а затем вызвать voiceResults.get(0), чтобы получить строку.

person Tony Allevato    schedule 09.12.2013
comment
Вау, это имеет смысл. Попробую, когда вернусь домой - person Vincent Taglia; 09.12.2013