0

我试图做的事情:

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 字符串发布活动)

4

1 回答 1

3

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

于 2013-12-09T16:10:34.780 回答