15

Getting deprecation warnings for androidx.fragment.app.Fragment:

warning: [deprecation] getFragmentManager() in Fragment has been deprecated.

What to do?

Martin Zeitler
  • 1
  • 19
  • 155
  • 216

3 Answers3

15

The sources of version 1.2.0 explain it in more detail:

This has been removed in favor of getParentFragmentManager(), which throws an IllegalStateException if the FragmentManager is null. Check if isAdded() returns false to determine if the FragmentManager is null.

Martin Zeitler
  • 1
  • 19
  • 155
  • 216
  • 2
    It is explicitly mentioned in [the Javadoc](https://developer.android.com/reference/androidx/fragment/app/Fragment.html#getFragmentManager()), no need to look at the source. – ianhanniballake Feb 04 '20 at 05:15
  • 5
    In short, you should use `getParentFragmentManager()` instead of `getFragmentManager()` or `requireFragmentManager()` since both got deprecated in `androidx.fragment.app.Fragement` – Tarun Chauhan Feb 04 '20 at 05:25
  • The name is confusing. I want the manager of the current fragment and not of it's parent. Google's changed code looks like the only point is the change itself... – The incredible Jan Jan 19 '23 at 13:23
5

In Kotlin: fragmentManager, requireFragmentManager() are deprecated.
Current way: parentFragmentManager

In JAVA: getFragmentManager(), requireFragmentManager() are deprecated.
Current way: getParentFragmentManager()

Md. Arif
  • 448
  • 1
  • 5
  • 13
1

Deprecation of getFragmentManager():

The getFragmentManager() and requireFragmentManager() methods on Fragment have been deprecated and replaced with a single getParentFragmentManager() method, which returns the non-null FragmentManager the Fragment is added to (you can use isAdded() to determine if it is safe to call).

Use Google Docs for more reference

Ravi
  • 2,277
  • 3
  • 22
  • 37