我试图做的事情:
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)但由于某种原因它是一个arraylist字符串而不仅仅是一个字符串。有谁知道如何将它保存为字符串? (或发布带有arraylist字符串的活动)
答案 0 :(得分:3)
由于结果是ArrayList
个字符串,您应该检查列表的size()
是否至少为1,然后调用voiceResults.get(0)
来获取字符串。