2013-12-09 3 views
0

Что я пытался сделать:Признание Google Glass Voice

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); 
} 

Failed обходной путь:

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); 
} 

Строка voiceResults это не удалось устранить проблему с тем, что я не могу .setText к ArrayList строки

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

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

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

ответ

3

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

+0

Ничего себе, что имеет смысл. Попробуй, когда я вернусь домой – vman411gamer