做IM功能的时候需要@功能,这里你@ABC ,但是你光标放到A,在@DEF的时候,这是字符串需要插入到@ADEF BC,才是正确的。
做法如下:
EditText mEditText = (EditText)findViewById(R.id.input);//EditText对象
int index = mEditText.getSelectionStart();//获取光标所在位置
String text="I want to input str";
Editable edit = mEditText.getEditableText();//获取EditText的文字
if(index < 0 || index >= edit.length() ){
edit.append(text);
}else{
edit.insert(index,text);//光标所在位置插入文字
}