@Override public boolean deleteSurroundingText(int beforeLength, int afterLength) { // magic: in latest Android, deleteSurroundingText(1, 0) will be called for backspace if (beforeLength == 1 && afterLength == 0) { // backspace return sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL)) && sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL)); } return super.deleteSurroundingText(beforeLength, afterLength); } }
@Override public boolean sendKeyEvent(KeyEvent event) { return super.sendKeyEvent(event); }
@Override public boolean commitText(CharSequence text, int newCursorPosition) { //WorkAround for Samsung/HTC keyboard try { return super.commitText(text, newCursorPosition); } catch (IndexOutOfBoundsException e) { return true; } }
@Override public boolean commitText(CharSequence text, int newCursorPosition) { return super.commitText(text, newCursorPosition); }
@Override public boolean deleteSurroundingText(int beforeLength, int afterLength) { if (beforeLength == 1 && afterLength == 0) { return sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL)) && sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL)); } return super.deleteSurroundingText(beforeLength, afterLength); } }
@Override public boolean sendKeyEvent(KeyEvent event) { return super.sendKeyEvent(event); }
@Override public boolean commitText(CharSequence text, int newCursorPosition) { if (DBG) { Log.d(TAG, "--- commitText:"); } mEST.mManager.unsetTextComposingMask(); return super.commitText(text, newCursorPosition); }
@Override public boolean deleteSurroundingText(int beforeLength, int afterLength) { if (beforeLength == 1 && afterLength == 0) { return sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL)) && sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL)); } return super.deleteSurroundingText(beforeLength, afterLength); }
@Override public boolean sendKeyEvent(KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_DEL) { if (delKeyEventListener != null) { delKeyEventListener.onDeleteClick(); return true; } } return super.sendKeyEvent(event); }
@Override public boolean commitText(CharSequence text, int newCursorPosition) { Editable currentText = getText(); if (currentText == null) return super.commitText(text, newCursorPosition); boolean retVal = super.commitText(text, newCursorPosition);
@Override public boolean deleteSurroundingText(int beforeLength, int afterLength) { if (beforeLength == 1 && afterLength == 0) { return sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL)) && sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL)); } return super.deleteSurroundingText(beforeLength, afterLength); }
@Override public boolean sendKeyEvent(KeyEvent event) { return super.sendKeyEvent(event); }
@Override public boolean deleteSurroundingText(int beforeLength, int afterLength) { boolean result = false; if (beforeLength == 1 && afterLength == 0) { result = onDeleteEvent(); } return result || super.deleteSurroundingText(beforeLength, afterLength); }
@Override public boolean sendKeyEvent(KeyEvent event) { return super.sendKeyEvent(event); } @Override
@Override public boolean deleteSurroundingText(int beforeLength, int afterLength) { mEditTextEventListener.onDeletePressed(); return super.deleteSurroundingText(beforeLength, afterLength); }
@Override public boolean sendKeyEvent(KeyEvent event) { return super.sendKeyEvent(event); }
@Override public boolean deleteSurroundingText(int beforeLength, int afterLength) { // This method works on modern versions of Android with soft keyboard delete. if (getTextBeforeCursor(1, 0).length() == 0 && mDeleteEmptyListener != null) { mDeleteEmptyListener.onDeleteEmpty(); } return super.deleteSurroundingText(beforeLength, afterLength); } }
@Override public boolean sendKeyEvent(KeyEvent event) { return super.sendKeyEvent(event); }
/** * Works with soft keyboard on Android 5 devices */ @Override public boolean deleteSurroundingText(int beforeLength, int afterLength) { if (getText().length() == 0 && beforeLength == 1 && afterLength == 0) { if (mListener != null) return mListener.onEmptyDel(EmptyDelEditText.this); } return super.deleteSurroundingText(beforeLength, afterLength); }
@Override public boolean sendKeyEvent(KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_DEL) { backInput(); // Un-comment if you wish to cancel the backspace: // return false; } return super.sendKeyEvent(event); }