Si vous souhaitez gérer le matériel d'Arrière-clés de l'événement que vous avez à faire code suivant dans votre onActivityCreated() la méthode de Fragment.
Vous devez également vérifier Action_Down ou Action_UP événement. Si vous ne cochez ensuite onKey() Méthode appelle 2 fois.
Aussi, Si votre rootview(getView()) ne contiennent pas d'accent, alors il ne fonctionnera pas. Si vous avez cliqué sur un contrôle puis de nouveau vous avez besoin pour donner le focus à rootview à l'aide de getView().requestFocus(); Après cela, seulement onKeydown() va appeler.
getView().setFocusableInTouchMode(true);
getView().requestFocus();
getView().setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Toast.makeText(getActivity(), "Back Pressed", Toast.LENGTH_SHORT).show();
return true;
}
}
return false;
}
});
Fonctionne très bien pour moi.