Android笔记应用语音识别问题:二次使用旧文本被新文本覆盖
解决语音识别文本覆盖问题
你的问题出在直接用setText()替换TextView内容,导致每次新识别的文本都会覆盖旧内容。要实现追加效果,只需要先获取当前TextView的已有文本,再将新识别的内容拼接进去即可。
修改后的关键代码:
找到onActivityResult中处理语音识别结果的代码块,替换成以下内容:
if (requestCode == 33333 && resultCode == RESULT_OK && null != data){ ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); // 获取当前TextView的已有文本 String currentContent = inputNoteText.getText().toString(); // 拼接新内容,这里用空格分隔,也可以换成"\n"实现换行追加 String updatedContent = currentContent + " " + result.get(0); // 设置更新后的文本 inputNoteText.setText(updatedContent); }
可选优化:
- 如果希望新内容和旧内容换行分隔,把拼接时的
" "换成"\n"即可。 - 如果TextView初始为空,也不会有问题,因为空字符串拼接新内容就是正常显示新文本。
内容的提问来源于stack exchange,提问作者Pushkar Jain
相关产品推荐
相关产品推荐

