So, I have a EditText and I have a function that is hiding keyboard when you click outside EditText. What happens is next:
- First time
EditTextis selected, keyboard comes up and it pushes wholeViewup. - I deselect
EditText(click anywheere otuside ofEditText) and keyboard goes to hidden - When I click again on
EditText, keyboard comes up, butViewisn't pulled up and I cannot see myEditText
How to push that View up again when EditText is selected?
Here is code for hiding SoftKeyboard:
@Override public boolean dispatchTouchEvent(MotionEvent ev) { View v = getCurrentFocus(); if (v != null && (ev.getAction() == MotionEvent.ACTION_UP || ev.getAction() == MotionEvent.ACTION_MOVE) && v instanceof EditText && !v.getClass().getName().startsWith("android.webkit.")) { int scrcoords[] = new int[2]; v.getLocationOnScreen(scrcoords); float x = ev.getRawX() + v.getLeft() - scrcoords[0]; float y = ev.getRawY() + v.getTop() - scrcoords[1]; if (x < v.getLeft() || x > v.getRight() || y < v.getTop() || y > v.getBottom()) hideKeyboard(this); } return super.dispatchTouchEvent(ev); } and hideKeyboard() method
public static void hideKeyboard(Activity activity) { if (activity != null && activity.getWindow() != null && activity.getWindow().getDecorView() != null) { InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(activity.getWindow().getDecorView().getWindowToken(), 0); } }