2017-02-12 2 views
0

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

Это мой код:

final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      /*Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
        .setAction("Action", null).show();*/ 

      NewOrdersFragment newOrdersFragment = new NewOrdersFragment(); 

      if(isOpen){ 
       fab.startAnimation(FabRanticlockwise); 
       FragmentManager orderManager = getSupportFragmentManager(); 
       orderManager.beginTransaction().remove(newOrdersFragment); 
       isOpen = false; 
      } 

      else{ 
       fab.startAnimation(FabRClockwise); 
       FragmentManager orderManager = getSupportFragmentManager(); 
       orderManager.beginTransaction().replace(R.id.content_buyer_main_area, newOrdersFragment).commit(); 
       isOpen = true; 
      } 
     } 
    }); 
+0

Что вы подразумеваете, закрыв [Фрагмент] (https://developer.android.com/guide/components/fragments.html)? –

ответ

0
beginTransaction().remove(yourFragment) 

или

beginTransaction().detatch(yourFragment) 

удобны для вашего случая.

+0

Я пробовал оба, но он не работал, остался фрагмент, так как это – Anish688

+0

проблема в том, что вы каждый раз передаете новый экземпляр фрагмента. попробуйте инициализировать фрагмент один раз и используйте его в фрагментаторе. –

+0

Я пробовал это так тоже, это не сработало. Не могли бы вы рассказать мне, как это сделать. – Anish688

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