我试图做的是:

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


字符串voiceResults是无法解决的问题,因为我无法将.setText转换为arraylist字符串

实际的语音识别代码:

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


基本上,我试图保存这种语音识别(打算使用SharedPreferences),但是由于某种原因,它是一个arraylist字符串,而不仅仅是一个字符串。有人知道如何将其另存为字符串吗? (或发布带有arraylist字符串的活动)

最佳答案

由于结果是字符串的ArrayList,因此应检查列表的size()至少为1,然后调用voiceResults.get(0)以获取字符串。

09-30 09:43