2017-01-03 5 views
0

ボタンでアクティビティからフラグメントを起動します。このフラグメントは動的に起動されます。私はフラグメントスタックで何が起こっているのか見てみる。フラグメントトランザクションのスタックサイズ

launchBtn.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Fragment newFragment = new SomeFragment(); 
      // consider using Java coding conventions (upper first char class names!!!) 
      FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
      transaction.add(R.id.frame_container, newFragment); 
      transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); 
      transaction.addToBackStack("add_fragment"); 
      transaction.commit(); 
      int entryCount = getFragmentManager().getBackStackEntryCount(); 
      Log.d("New size ", String.valueOf(entryCount)); 
     } 
    }); 

endCountの値は、最後にはゼロであり、私は好奇心をそそられています。

2番目の質問は、このようにいくつかのアクティビティから開始された一部のフラグメントから、最初のアクティビティに戻る方法です。

答えて

2

commit()メソッドがすぐに呼び出されない場合は、をすぐに完了させたい場合はcommitNow()を使用してください。

フラグメントを非表示にするには、hide()メソッドを使用できます。

関連する問題