Я пытаюсь открыть фрагмент дома из разных фрагментов, если я нажму кнопку «Назад» (кнопка возврата устройства). но вместо замены фрагмента приложение закрывается и появляется экран меню устройства. я не в состоянии, что идет не так. и ошибок нет. пожалуйста, помогите мне ..Изменение кода фрагмента назад
HomeFragment:
public class HomeFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.home, container, false);
return view;
}
OneFragment: метод
public class OneFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_one, container, false);
OnKeyListener pressed = new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return true;
}
return false;
}
};
view.setOnKeyListener(pressed);
return view;
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Fragment newFragment = new HomeFragment();
FragmentTransaction transaction = getFragmentManager()
.beginTransaction();
transaction.replace(R.id.content_frame, newFragment);
// transaction.addToBackStack(null);
transaction.commit();
return false;
}
return super.getActivity().onKeyDown(keyCode, event);
}
}
Я даже попытался использовать onBackPressed() в фрагменте. но никакого желаемого выхода.
twoFragment:
public class TwoFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_two, container, false);
return view;
}
public void onBackPressed() {
Fragment newFragment = new WordFragment();
FragmentTransaction transaction = getFragmentManager()
.beginTransaction();
transaction.replace(R.id.content_frame, newFragment);
// transaction.addToBackStack(null);
transaction.commit();
super.getActivity().onBackPressed();
}
}
пожалуйста, помогите мне .. скажите мне, где я буду неправильно. Я просто хочу, чтобы какой фрагмент открыт, при нажатии на BackButton он должен открыть homefragment класс ..
Ничего не случилось. я изменил код bt не получил желаемый результат – Falguni
Вам не нужно переопределять KeyEvent.KEYCODE_BACK – JoaoBiriba
Даже если я удалю переопределение, все равно ничего не изменится. – Falguni