[android] 활동에서 getSupportFragmentManager ()를 호출 할 수 없습니다.

조각이있는 활동이 있습니다.

XML :

 <fragment android:name="com.example.androidcalculator.ResultFragment"
            android:id="@+id/result_fragment"
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

그리고 Activity의 메서드에서 ResultFragment의 메서드를 호출하고 싶지만 getSupportFragmentManager “존재하지 않음”:

FragmentManager fragMan = getSupportFragmentManager();

어떻게 해결할 수 있습니까?



답변

활동이 지원 라이브러리에서 FragmentActivity 를 확장하지 않으므로 메서드가 슈퍼 클래스에 없습니다.

API 11 이상을 대상으로하는 경우 대신 Activity.getFragmentManager 를 사용할 수 있습니다 .


답변

AppCompatActivity대신에 클래스 확장Activity


답변

부모로부터 현재 활동을 얻은 다음이 코드를 사용하여

getActivity().getSupportFragmentManager()


답변

수입

import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;


답변

간단히 사용

 FragmentManager fm = getActivity().getSupportFragmentManager();

MainLayout에서 조각 확장에 액세스 할 때 항상 Casting 또는 getActivity().


답변

FragmentActivity대신 확장해야합니다.Activity


답변

이것은 나를 위해 일했습니다. Android API 19 이상 실행.

FragmentManager fragMan = getFragmentManager();