View Code? Open in Web Editor
NEW
MentionEditText adds some useful features for mention string(@xxxx), such as highlight, intelligent deletion, intelligent selection and '@' input detection, etc.
License: Apache License 2.0
mentionedittext's People
Contributors
mentionedittext's Issues
@OverRide
public boolean sendKeyEvent(KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_DEL) {
int selectionStart = editText.getSelectionStart();
int selectionEnd = editText.getSelectionEnd();
Range closestRange = getRangeOfClosestMentionString(selectionStart, selectionEnd);
if (closestRange == null) {
mIsSelected = false;
return super.sendKeyEvent(event);
}
//if mention string has been selected or the cursor is at the beginning of mention string, just use default action(delete)
if (mIsSelected || selectionStart == closestRange.from) {
mIsSelected = false;
return super.sendKeyEvent(event);
} else {
//select the mention string
mIsSelected = true;
mLastSelectedRange = closestRange;
// setSelection(closestRange.to,closestRange.from);
setSelection(closestRange.from,closestRange.to);
}
return true;
}
return super.sendKeyEvent(event);
}
android:inputType="textMultiLine" invalide
这个EditText只有一行,不能换行(only single line,)
输入一段正常文字 把光标转移到文字中间 插入@ 直接插入到文字的后面 并没有在光标位置插入