当从接口或其他activity返回的等非用户输入的数据,希望在EditText输入框中的光标所在位置后面插入,如插入一张图片,一句话。下面这一段代码就实现了我们想要的:
/**
* 实现将扫描结果插入在EditText光标处
* @param editText
* @param index 获取光标所在位置
* @param text 插入的文本
*/
private void insertAtFocusedPosition(EditText editText,String text){
int index = editText.getSelectionStart();//获取光标所在位置
Editable edit = editText.getEditableText();//获取EditText的文字
if (index < 0 || index >= edit.length() ){
edit.append(text);
}else{
edit.insert(index,text);//光标所在位置插入文字
}
}