2016-07-18 3 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. Я использовал следующую процедуру, но я получаю сообщение об ошибке 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(); 
Смежные вопросы