@Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { mImapPathPrefixView.setEnabled(!isChecked); if (isChecked && mImapPathPrefixView.hasFocus()) { mImapPathPrefixView.focusSearch(View.FOCUS_UP).requestFocus(); } else if (!isChecked) { mImapPathPrefixView.requestFocus(); } } });
@Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE) { if (position != replaceList.size() - 1) { TextView nextField = (TextView)editFrom.focusSearch(View.FOCUS_DOWN); if (nextField != null) { nextField.requestFocus(); } } return true; } return false; } });
@Override public void onTextChanged(CharSequence s, int start, int before, int count) { EditText editText = (EditText) getDialog().getCurrentFocus(); if (editText.length() == 2) { View view = editText.focusSearch(View.FOCUS_RIGHT); if (view != null) { view.requestFocus(); } } }
@Override public void onKey(int primaryCode, int[] keyCodes) { View focusCurrent = mActivity.getWindow().getCurrentFocus(); if (focusCurrent != null && (focusCurrent instanceof EditText)) { EditText edittext = (EditText) focusCurrent; Editable editable = edittext.getText(); int start = edittext.getSelectionStart(); if (primaryCode == kKeyDelete) { if (editable != null && start > 0) editable.delete(start - 1, start); } else if (primaryCode == kKeyReturn) { View nextFocusView = edittext.focusSearch(View.FOCUS_DOWN); if (nextFocusView != null && (nextFocusView instanceof EditText)) { nextFocusView.requestFocus(); } else { hideCustomKeyboard(); } } else { editable.insert(start, Character.toString((char) primaryCode)); } } }
edittext.setSelection(edittext.length()); } else if (primaryCode == CodePrev) { View focusNew = edittext.focusSearch(View.FOCUS_BACKWARD); if (focusNew != null) focusNew.requestFocus(); } else if (primaryCode == CodeNext) { View focusNew = edittext.focusSearch(View.FOCUS_FORWARD); if (focusNew != null) focusNew.requestFocus(); else if (primaryCode == CodeCellUp || primaryCode == CodeCellDown || primaryCode == CodeCellLeft || primaryCode == CodeCellRight) {