Я внедрил переопределение клавиши кнопки «Назад» в устройстве. теперь по какой-то причине метод onKey никогда не выполняется, и поэтому, когда я нажимаю кнопку «Назад», приложение сворачивается на обратную сторону, вместо этого делает код onKey. Я не уверен, в чем проблема, поэтому я загружу весь код.onKey метод никогда не выполняется
Это мой код:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
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_DOWN) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
String frag_name = getFragmentManager().getBackStackEntryAt(getFragmentManager().getBackStackEntryCount() - 1).getName();
Log.d("frag name is", frag_name);
Fragment fragment = null;
switch (frag_name){
case "back_to_attending":
fragment = new AttendingListFragmentController();
break;
case "back_to_invitations":
fragment = new InvitationsFragmentController();
break;
case "waiting_list":
fragment = new WaitingEventListFragmentController();
break;
default:
break;
}
if(fragment != null){
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.popBackStackImmediate();
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment,frag_name).addToBackStack(frag_name).commit();
}
}
}
return false;
}
});
}
Пожалуйста, разместите только соответствующую деталь. Никто не собирается читать целый файл. – RvdK
да, но если я предоставлю onlt код onKey, как вы можете знать, что другая часть кода не будет релевантна? –
Посмотрите мой обновленный код –