请查看以下代码:
ArrayList<String> text = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
int cursorPosition = edtTEXT.getSelectionStart();
String currentString = edtTEXT.getText().toString().trim();
voiceEdt.append(text.get(0), cursorPosition, cursorPosition+1)
Toast.makeText(VoiceNotes.this, "Status: "+writeInMiddle, Toast.LENGTH_LONG).show();
我的尝试是将文本附加到光标所在的位置。最可能的是,它将在句子的中间。例如,取“欢迎来到abc”文本。如果文本位于文本 abc 的开头,那么新文本应该出现在 abc 的开头。
我的上述代码不起作用,它什么都不添加。无论如何,edtTEXT
是EditText
。
这里有什么问题?
答案 0 :(得分:2)
使用insert()方法而不是append()。见例子,
String s = "This a String";
StringBuffer buffer = new StringBuffer(s);
buffer.insert(5, "is ");
System.out.println(buffer.toString());
// will give "This is a String"