In my scenario I have an EditText that gains the focus. When I close the keyboard using the back button, I would like to catch that event and do some stuff like give the focus to another view.
How do I get the keyboard onclose event?
there is cabback for softkeyboard. I have used this code snippet, hnestly i have forgot from where :(
final View activityRootView = findViewById(R.id.loging_rootview);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int heightDiff = activityRootView.getRootView()
.getHeight()
- activityRootView.getHeight();
if (heightDiff > 138) { // if more than 100 pixels, its
// probably a keyboard...
logo.setVisibility(View.GONE);
} else {
logo.setVisibility(View.VISIBLE);
}
}
});
You can get return button as
editText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// You can identify which key pressed buy checking keyCode value
// with KeyEvent.KEYCODE
if (keyCode == KeyEvent.KEYCODE_ENTER && KeyEvent.ACTION_DOWN == vent.getAction()) {
// YOUR CODE HERE
}
return false;
}
});
EDIT :
There is no events occurs when soft keyboard hides. see this Question will help you to solve your problem