2016-07-18 166 views
1

我已經創建了一個片段,並在另一片段佈局中使用了這個片段。如何調用片段內的片段

這是我的佈局的XML。

<WebView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/wv_facebook" 
    > 

</WebView> 


<fragment 
    class="com.loading.LoadingAnimation" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/wv_facebook_loadingAnimation" 

    /> 

現在我想要得到這個fragment的ID。我用下面的程序,但我得到incompatible type錯誤信息。

Loading Animation loadingAnimation; 

loadingAnimation = (LoadingAnimation) getFragmentManager().findFragmentById(R.id.wv_facebook_loadingAnimation); 

要求LoadingAnimation找到android.support.v4.app.fragment

+0

你可以施放它'loadingAnimation =(LoadingAnimation)getFragmentManager()findFragmentById(R.id.wv_facebook_loadingAnimation);' – Wilik

+0

我收到同樣的錯誤消息 – Kirmani88

+0

什麼你的'LoadingAnimation'延伸到? 'android.app.Fragment'或'android.support.v4.app.Fragment' – Wilik

回答

3

你需要調用getChildFragmentManager()而不是getFragmentManager()

0

你可以試試下面的示例太:

DashboardFragment innerFragment = new DashboardFragment(); 

      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
       innerFragment .setEnterTransition(new Slide(Gravity.RIGHT)); 
       innerFragment .setExitTransition(new Slide(Gravity.LEFT)); 
      } 


      FragmentManager fragmentManager = getFragmentManager(); 
       FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
       folderName = mFileList.get(position).getName(); 

       fragmentTransaction.add(R.id.content_frame, innerFragment, folderName); 
       fragmentTransaction.addToBackStack(folderName); 
       fragmentTransaction.commit();