无法从activity调用getSupportFragmentManager()

Tar*_*aru 79 android android-fragments android-activity

我有一个有片段的活动.

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" />
Run Code Online (Sandbox Code Playgroud)

我想从Activity中的方法调用ResultFragment中的方法,但是getSupportFragmentManager"不存在":

FragmentManager fragMan = getSupportFragmentManager();
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Rob*_*ill 186

您的活动不会从支持库扩展FragmentActivity,因此该方法不存在于超类中

如果您的目标是api 11或更高版本,则可以使用Activity.getFragmentManager.

  • `FragmentManager`现已弃用. (10认同)
  • 我在这里使用 ComponentActivity 而不是 AppcompactActivity,并且在 componentActivity getsupportManger() 中给出错误 anyiIdea (3认同)

El *_*mer 54

将类扩展为AppCompatActivity而不是Activity


小智 17

从父级获取当前活动,然后使用此代码

getActivity().getSupportFragmentManager()
Run Code Online (Sandbox Code Playgroud)