2014-10-13 21 views
0

enter image description here更換子片段,但只工作firsttime

在Fragment3有子片段,如果我從片段1打開Fragment3然後Fragment4顯示,但現在我從fragment2打開fragment3然後4不顯示片段。

反之亦然,如果我從碎片2打開碎片3然後顯示碎片4,但是如果我從碎片1打開碎片3,則不顯示碎片4。

代碼添加片段4:

Fixture_H2h_frag fragment1=new Fixture_H2h_frag(); 
     Bundle b1 = new Bundle(); 
     b1.putBoolean("Show", true); 
     //b.putString("RESULT", result); 
     b1.putString("URL", Url); 
     b1.putString("TYPE", "FORM"); 
     b1.putString("VisitorTeam1", matchlist.get(pos).getVisitor_image_url()); 
     b1.putString("LocalTeam1", matchlist.get(pos).getLocal_image_url()); 

     fragment1.setArguments(b1); 
     FragmentTransaction transaction = getFragmentManager().beginTransaction(); 

     transaction.replace(R.id.Inner_Fixture_Container, fragment1); 
     transaction.addToBackStack(null); 

     // Commit the transaction 
     transaction.commit(); 

代碼添加父片段:

FixtureDescrption_Frag frag = new FixtureDescrption_Frag(); 
FragmentManager fm = contxt.getSupportFragmentManager(); 
     FragmentTransaction fragmentTransaction = fm.beginTransaction(); 
     fragmentTransaction.add(R.id.fragment_place, frag); 
     fragmentTransaction 
       .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); 
     if(addedtostack){ 
     fragmentTransaction.addToBackStack(contxt.getClass().getName()); 
     } 
     fragmentTransaction.commit(); 

回答

0

您需要使用

FragmentTransaction transaction = getChildFragmentManager().beginTransaction(); 

代替

FragmentTransaction transaction = getFragmentManager().beginTransaction(); 

在添加子片段時。 您可以參考this link瞭解更多詳情。

+0

無法找到getChildFragmentManager() – Rohit

+0

其在Fragment類中,請點擊此處http://developer.android.com/reference/android/app/Fragment.html#getChildFragmentManager%28%29 – Akhil

+0

先生,我已經完成了總計RND就此,但無法得到此 – Rohit