2017-02-12 7 views
0

ファブアクションを実装しようとしています。ファブアクションをクリックするとフラグメントが開始され、再びタッチするとフラグメントが閉じられます。これどうやってするの。フローティングアクションボタンをクリックするとフラグメントを閉じる方法

これは私のコードです:

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

[Fragment](https://developer.android.com/guide/components/fragments.html)を閉じるとはどういう意味ですか? –

答えて

0
beginTransaction().remove(yourFragment) 

または

beginTransaction().detatch(yourFragment) 

は、あなたのケースのために便利です。

+0

私は両方を試してみましたが、そのまま残っていたフラグメントがそのまま残っていました – Anish688

+0

問題は毎回フラグメントの新しいインスタンスを渡すという問題です。フラグメントを一度起動して、fragmentTransactionでそのフラグメントを使用してみてください。 –

+0

私はこれを試してもうまくいきませんでした。それをどうやって行うのか教えてください。 – Anish688

関連する問題