2016-02-24 2 views
1

Я разрабатываю андроид, в котором, когда я нажал кнопку возврата устройства, я перехожу к предыдущему фрагменту. Что я хочу добиться, так это то, что когда я нажал кнопку возврата устройства, я не хочу перейти к предыдущему фрагменту. Как я могу добиться.Как избежать фрагмента, возвращаясь к предыдущему фрагменту при нажатии кнопки возврата устройства?

+0

Не используйте 'addToBackStack()' при загрузке фрагмента. – Rohit5k2

+0

напишите свой код .. –

ответ

0

Вы должны делать вызов addtobackstack («имя») при добавлении или замены fragment.Remove этой функции перед вызовом следующего фрагмента вы не вернуться к предыдущему фрагменту for further desc

0

Не добавлять этот фрагмент в backstack из новый фрагмент, который вы вызываете. Посмотрите на приведенный ниже пример, который я использовал, чтобы объяснить вам, как это работает.

Чтобы сделать этот фрагмент прийти снова, просто добавьте этот фрагмент в backstack который вы хотите возвращайся нажимается, Например:

btnSignIn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Fragment fragment = new LoginFragment(); 
      //replacing the fragment 
      if (fragment != null) { 
       FragmentTransaction ft = ((FragmentActivity)getContext()).getSupportFragmentManager().beginTransaction(); 
       ft.replace(R.id.content_frame, fragment); 
       ft.addToBackStack("SignupFragment"); 
       ft.commit(); 
      } 
     } 
    }); 

В приведенном выше случае, я м открытие LoginFragment когда кнопка для входа в аккаунт является нажата, прямо сейчас в RegistrationFragment. Поэтому, если я вызываю addToBackStack (TAG), TAG = "RegistrationFragment", тогда, когда кнопка возврата нажата в LoginFragment, мы приходим к SignUpFragment. Счастливое кодирование!