2017-01-03 88 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)); 
     } 
    }); 

entryCount的值最終爲零,我很好奇爲什麼。

第二個問題是如何從某個片段返回,從某種活動以這種方式啓動到最初的活動。

回答

2

commit()方法不立即調用,使用commitNow()如果你想立即完成FragmentTransaction

要隱藏片段,可以使用hide()方法。