2017-02-18 3 views
0

У меня есть файл FragmentDetail.java, который состоит из recylerview, когда прикосновение к recylerview вызывается тем же фрагментом, что и FragmentDetail.java, тот же процесс, когда я повторяю 4 5 раз, касаясь двух одновременных просмотров Предметы. Он не отображает обратный фрагмент немедленно. Вместо этого он показывает фрагмент элементов вида recyler. Первый Fragmet содержит recylerview, на который нажимаются вызовы ProductMenu, а в представлении Recyler меню продукта щелкните FragmentDetail.java-вызовы. Знайте, что моя проблема в том, что на обратной стороне пресс-фрагменты не получают заменить properly.Below мой код: -Фрагмент не заменяется должным образом во второй раз android

FirstFragment

list_recycler.addOnItemTouchListener(new RecyclerTouchListener(getActivity(), list_recycler, new ClickListener() { 
      @Override 
      public void onClick(View view, int position) { 
       Fragment fragment = new ProductMenu(); 

       fragmentManager = getActivity().getSupportFragmentManager(); 


       fragmentTransaction = fragmentManager 
         .beginTransaction(); 
       fragmentTransaction.setCustomAnimations(R.anim.slide_in, R.anim.slide_out, R.anim.slide_enter, R.anim.slide_exit); 
       fragmentTransaction.replace(R.id.container_body, fragment); 
       fragmentTransaction.addToBackStack(null); 
       fragmentTransaction.commit(); 

     } 

ProductMenu.java

Also contains the same code.In spite of fragment FragmentDetail fragment = new FragmentDetail(); 

FragmentDetail.java

FragmentDetail fragment = new FragmentDetail(); 
       ProductsBean productsBean = arr_related_product.get(position);    

       fragmentManager = getActivity().getSupportFragmentManager(); 
       //final int newBackStackLength = fragmentManager.getBackStackEntryCount() +1; 
       fragmentTransaction = fragmentManager 
         .beginTransaction(); 
       fragmentTransaction.setCustomAnimations(R.anim.slide_in, R.anim.slide_out, R.anim.slide_enter, R.anim.slide_exit); 
       fragmentTransaction.replace(R.id.container_body, fragment); 
       fragmentTransaction.commit(); 

ответ

0

, что вы имеете в виду : тот же самый процесс, когда я повторяю 4 5 раз, прикоснувшись одновременно двух recyler элементов представления. ->?

В первую очередь я хотел бы предложить сделать

fragmentTransaction.add(R.id.container_body, fragment); 

вместо

fragmentTransaction.replace(R.id.container_body, fragment); 

Let me know if it works ,also try to explain your problem little more with help of code 
+0

Это означает, что, когда я стучу recyler элементов просмотра, например, я нажимаю по пункту «А», а затем «B» затем «A» снова «B». Теперь, когда я нажимаю кнопку «Назад», мой фрагмент не заменяет. –

+0

@ShivamKapoor, мой фрагмент не заменяет - вы можете проверить это, поместив журнал в конструктор FragmentDetail.java. Каждый раз, когда вы нажимаете и регистрируете журнал, это означает, что ваши фрагменты создаются каждый раз, когда вы нажимаете ... что, в свою очередь, означает замену фрагментов , можете ли вы объяснить, каково ваше точное требование и где и где? – DevKRos

+0

На самом деле, я не знаю, где возникла проблема. Но вывод выглядит так: фрагменты не получают замену, как будто у меня есть 3 фрагмента из 3-го фрагмента, который он непосредственно перескакивает на 1-й фрагмент. И когда прыжки на первом фрагменте составляют макет Третий фрагмент видимый не 1-й фрагмент –

Смежные вопросы