I usually set an onKeyListener
to the View
in onResume
. From what I learned you have to take care to set setFocusableInTouchMode()
and requestFocus
on the View
.
This is a sample of what I use for this purpose:
@Override
public void onResume() {
super.onResume();
getView().setFocusableInTouchMode(true);
getView().requestFocus();
getView().setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK){
// handle back button
return true;
}
return false;
}
});
}