FragmentHostCallback

public abstract class FragmentHostCallback<E> extends FragmentContainer


Integration points with the Fragment host.

Fragments may be hosted by any object; such as an Activity. In order to host fragments, implement FragmentHostCallback, overriding the methods applicable to the host.

FragmentManager changes its behavior based on what optional interfaces your FragmentHostCallback implements. This includes the following:

Parameters
<E>

the type of object that's currently hosting the fragments. An instance of this class must be returned by onGetHost.

Summary

Public constructors

FragmentHostCallback(
    @NonNull Context context,
    @NonNull Handler handler,
    @NonNull int windowAnimations
)

Public methods

@NonNull void
onDump(
    @NonNull String prefix,
    @Nullable FileDescriptor fd,
    @NonNull PrintWriter writer,
    @Nullable Array<@NonNull String> args
)

Print internal state into the given stream.

@Nullable @Override View

Return the view with the given resource ID.

abstract @Nullable E

Return the object that's currently hosting the fragment.

@NonNull LayoutInflater

Return a LayoutInflater.

@NonNull int

Return the window animations.

@Override @NonNull boolean

Return {@code true} if the container holds any view.

@NonNull boolean

Return {@code true} if there are window animations.

@NonNull void
onRequestPermissionsFromFragment(
    @NonNull Fragment fragment,
    @NonNull Array<@NonNull String> permissions,
    @NonNull int requestCode
)

This method is deprecated.

Have your FragmentHostCallback implement ActivityResultRegistryOwner to allow Fragments to use registerForActivityResult with RequestMultiplePermissions.

@NonNull boolean

Return {@code true} if the fragment's state needs to be saved.

@NonNull boolean

Checks whether to show permission rationale UI from a fragment.

@NonNull void
onStartActivityFromFragment(
    @NonNull Fragment fragment,
    @NonNull Intent intent,
    @NonNull int requestCode
)

Starts a new Activity from the given fragment.

@NonNull void
onStartActivityFromFragment(
    @NonNull Fragment fragment,
    @NonNull Intent intent,
    @NonNull int requestCode,
    @Nullable Bundle options
)

Starts a new Activity from the given fragment.

@NonNull void
onStartIntentSenderFromFragment(
    @NonNull Fragment fragment,
    @NonNull IntentSender intent,
    @NonNull int requestCode,
    @Nullable Intent fillInIntent,
    @NonNull int flagsMask,
    @NonNull int flagsValues,
    @NonNull int extraFlags,
    @Nullable Bundle options
)

This method is deprecated.

Have your FragmentHostCallback implement ActivityResultRegistryOwner to allow Fragments to use registerForActivityResult with StartIntentSenderForResult.

@NonNull void

Invalidates the activity's options menu.

Inherited methods

From class FragmentContainer
@NonNull Fragment
instantiate(
    @NonNull Context context,
    @NonNull String className,
    @Nullable Bundle arguments
)

This method is deprecated.

Use setFragmentFactory to control how Fragments are instantiated.

Public constructors

FragmentHostCallback

public FragmentHostCallback(
    @NonNull Context context,
    @NonNull Handler handler,
    @NonNull int windowAnimations
)

Public methods

onDump

@NonNull
public void onDump(
    @NonNull String prefix,
    @Nullable FileDescriptor fd,
    @NonNull PrintWriter writer,
    @Nullable Array<@NonNull String> args
)

Print internal state into the given stream.

Parameters
@NonNull String prefix

Desired prefix to prepend at each line of output.

@Nullable FileDescriptor fd

The raw file descriptor that the dump is being sent to.

@NonNull PrintWriter writer

The PrintWriter to which you should dump your state. This will be closed for you after you return.

@Nullable Array<@NonNull String> args

additional arguments to the dump request.

onFindViewById

@Nullable
@Override
@NonNull
public @Override View onFindViewById(@NonNull int id)

Return the view with the given resource ID. May return {@code null} if the view is not a child of this container.

onGetHost

@Nullable
@NonNull
public abstract E onGetHost()

Return the object that's currently hosting the fragment. If a Fragment is hosted by a FragmentActivity, the object returned here should be the same object returned from getActivity.

onGetLayoutInflater

@NonNull
public LayoutInflater onGetLayoutInflater()

Return a LayoutInflater. See getLayoutInflater.

onGetWindowAnimations

@NonNull
public int onGetWindowAnimations()

Return the window animations.

onHasView

@Override
@NonNull
public @Override boolean onHasView()

Return {@code true} if the container holds any view.

onHasWindowAnimations

@NonNull
public boolean onHasWindowAnimations()

Return {@code true} if there are window animations.

onRequestPermissionsFromFragment

@NonNull
public void onRequestPermissionsFromFragment(
    @NonNull Fragment fragment,
    @NonNull Array<@NonNull String> permissions,
    @NonNull int requestCode
)

Requests permissions from the given fragment. See requestPermissions

onShouldSaveFragmentState

@NonNull
public boolean onShouldSaveFragmentState(@NonNull Fragment fragment)

Return {@code true} if the fragment's state needs to be saved.

onShouldShowRequestPermissionRationale

@NonNull
public boolean onShouldShowRequestPermissionRationale(@NonNull String permission)

Checks whether to show permission rationale UI from a fragment. See shouldShowRequestPermissionRationale

onStartActivityFromFragment

@NonNull
public void onStartActivityFromFragment(
    @NonNull Fragment fragment,
    @NonNull Intent intent,
    @NonNull int requestCode
)

Starts a new Activity from the given fragment. See startActivityForResult.

onStartActivityFromFragment

@NonNull
public void onStartActivityFromFragment(
    @NonNull Fragment fragment,
    @NonNull Intent intent,
    @NonNull int requestCode,
    @Nullable Bundle options
)

Starts a new Activity from the given fragment. See startActivityForResult.

onStartIntentSenderFromFragment

@NonNull
public void onStartIntentSenderFromFragment(
    @NonNull Fragment fragment,
    @NonNull IntentSender intent,
    @NonNull int requestCode,
    @Nullable Intent fillInIntent,
    @NonNull int flagsMask,
    @NonNull int flagsValues,
    @NonNull int extraFlags,
    @Nullable Bundle options
)

Starts a new IntentSender from the given fragment. See startIntentSender.

onSupportInvalidateOptionsMenu

@NonNull
public void onSupportInvalidateOptionsMenu()

Invalidates the activity's options menu. See supportInvalidateOptionsMenu