gpt4 book ai didi

android - 使用语音识别时如何填充编辑文本字段而不是 ListView ?

转载 作者:行者123 更新时间:2023-11-29 22:11:09 24 4
gpt4 key购买 nike

我使用的代码来自谷歌的 sample voice recognition class.他们将前 5 个结果写入 ListView ,但我只希望将前 5 个结果发布在 edittext 字段中。这可能吗?或者是否可以填充 ListView ,然后自动将结果复制到编辑文本字段?

如有任何帮助,我们将不胜感激。

最佳答案

如果您只想返回 1 个结果,您应该在用于启动语音识别 Activity 的 Intent 中指定它:

private void startVoiceRecognitionActivity() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getClass().getPackage().getName());


intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
//since you only want one, only request 1
intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 1);

intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US");

startActivityForResult(intent, 1234);
}

然后拉取单个结果并将其设置到您的 EditText:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK){
//pull all of the matches
ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);

String topResult = matches.get(0);
EditText editText = findViewById(R.id.yourEditText);
editText.setText(topResult);
}
}

关于android - 使用语音识别时如何填充编辑文本字段而不是 ListView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9606280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com