Constructors

Link copied to clipboard
constructor(bindingCreator: BaseFragment.BindingCreator<T>)

Types

Link copied to clipboard
sealed class BindingCreator<T : ViewBinding>

Sealed class representing the two strategies for creating a ViewBinding instance.

Properties

Link copied to clipboard
open override var _binding: T?
Link copied to clipboard
@get:Nullable
val activity: FragmentActivity?
Link copied to clipboard
@get:Nullable
var arguments: Bundle?
Link copied to clipboard
open val binding: T?
Link copied to clipboard
Link copied to clipboard
@get:NonNull
val childFragmentManager: FragmentManager
Link copied to clipboard
@get:Nullable
open val context: Context?
Link copied to clipboard
@get:NonNull
@get:CallSuper
open val defaultViewModelCreationExtras: CreationExtras
Link copied to clipboard
@get:NonNull
open val defaultViewModelProviderFactory: ViewModelProvider.Factory
Link copied to clipboard
@get:Nullable
open var enterTransition: Any?
Link copied to clipboard
@get:Nullable
open var exitTransition: Any?
Link copied to clipboard
@get:Nullable
val fragmentManager: FragmentManager?
Link copied to clipboard
@get:Nullable
val host: Any?
Link copied to clipboard
val id: Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@get:RestrictTo(value = [RestrictTo.Scope.LIBRARY_GROUP_PREFIX])
val isMenuVisible: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@get:NonNull
val layoutInflater: LayoutInflater
Link copied to clipboard
@get:NonNull
open val lifecycle: Lifecycle
Link copied to clipboard
@get:NonNull
open val loaderManager: LoaderManager
Link copied to clipboard
@RestrictTo(value = [RestrictTo.Scope.LIBRARY])
@Nullable
var mPreviousWho: String?
Link copied to clipboard
@get:Nullable
val parentFragment: Fragment?
Link copied to clipboard
@get:NonNull
val parentFragmentManager: FragmentManager
Link copied to clipboard
@get:Nullable
open var reenterTransition: Any?
Link copied to clipboard
@get:NonNull
val resources: Resources
Link copied to clipboard
Link copied to clipboard
@get:Nullable
open var returnTransition: Any?
Link copied to clipboard
@get:NonNull
val savedStateRegistry: SavedStateRegistry
Link copied to clipboard
@get:Nullable
open var sharedElementEnterTransition: Any?
Link copied to clipboard
@get:Nullable
open var sharedElementReturnTransition: Any?
Link copied to clipboard
@get:Nullable
val tag: String?
Link copied to clipboard
@get:Nullable
val targetFragment: Fragment?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@get:Nullable
open val view: View?
Link copied to clipboard
@get:MainThread
@get:NonNull
open val viewLifecycleOwner: LifecycleOwner
Link copied to clipboard
@get:NonNull
open val viewLifecycleOwnerLiveData: LiveData<LifecycleOwner?>
Link copied to clipboard
@get:NonNull
open val viewModelStore: ViewModelStore

Functions

Link copied to clipboard
open fun createBinding(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View?
Link copied to clipboard

Safer activity?.onBackPressedDispatcher?.onBackPressed() with fallback behavior instead of app crash

Link copied to clipboard
open fun dump(@NonNull prefix: String, @Nullable fd: FileDescriptor?, @NonNull writer: PrintWriter, @Nullable args: Array<out String?>??)
Link copied to clipboard
abstract fun fixLayout(view: View)

Ensures the layout of the root view is correctly adjusted for the current configuration.

Link copied to clipboard
fun Fragment.getChooseFolderLauncher(dirSelected: (uri: Uri?, path: String?) -> Unit): ActivityResultLauncher<Uri?>
Link copied to clipboard
Link copied to clipboard
@NonNull
fun getString(@StringRes resId: Int): String
@NonNull
fun getString(@StringRes resId: Int, @Nullable vararg formatArgs: Any?): String
Link copied to clipboard
@NonNull
fun getText(@StringRes resId: Int): CharSequence
Link copied to clipboard
@RestrictTo(value = [RestrictTo.Scope.LIBRARY_GROUP_PREFIX])
fun hasOptionsMenu(): Boolean
Link copied to clipboard
fun Fragment.hideKeyboard()
Link copied to clipboard
fun <T, V : ViewBinding> BaseFragment<V>.observe(liveData: LiveData<T>, action: (T) -> Unit)

NOTE: Only one observer at a time per value

Link copied to clipboard
fun <T, V : ViewBinding> BaseFragment<V>.observeNullable(liveData: LiveData<T>, action: (T?) -> Unit)

Attaches an observable to the root binding, instead of the fragment. This is more efficient as it will not call observe if the view is in the background.

Link copied to clipboard
@MainThread
@CallSuper
open fun onActivityCreated(@Nullable savedInstanceState: Bundle?)
Link copied to clipboard
open fun onActivityResult(requestCode: Int, resultCode: Int, @Nullable data: Intent?)
Link copied to clipboard
@MainThread
@CallSuper
open fun onAttach(@NonNull activity: Activity)
@MainThread
@CallSuper
open fun onAttach(@NonNull context: Context)
Link copied to clipboard
@MainThread
open fun onAttachFragment(@NonNull childFragment: Fragment)
Link copied to clipboard
open fun onBindingCreated(binding: T)

Called when the binding is safely created and view is ready. Overload without savedInstanceState for convenience.

open fun onBindingCreated(binding: T, savedInstanceState: Bundle?)

Called when the binding is safely created and view is ready. Can be overridden to provide fragment-specific initialization.

Link copied to clipboard
open override fun onConfigurationChanged(newConfig: Configuration)

Called when the device configuration changes (e.g., orientation). Re-applies system bar padding fixes to the root view to ensure it readjusts for orientation changes.

Link copied to clipboard
@MainThread
open fun onContextItemSelected(@NonNull item: MenuItem): Boolean
Link copied to clipboard
@MainThread
@CallSuper
open fun onCreate(@Nullable savedInstanceState: Bundle?)
Link copied to clipboard
@MainThread
@Nullable
open fun onCreateAnimation(transit: Int, enter: Boolean, nextAnim: Int): Animation?
Link copied to clipboard
@MainThread
@Nullable
open fun onCreateAnimator(transit: Int, enter: Boolean, nextAnim: Int): Animator?
Link copied to clipboard
@MainThread
open fun onCreateContextMenu(@NonNull menu: ContextMenu, @NonNull v: View, @Nullable menuInfo: ContextMenu.ContextMenuInfo?)
Link copied to clipboard
@MainThread
open fun onCreateOptionsMenu(@NonNull menu: Menu, @NonNull inflater: MenuInflater)
Link copied to clipboard
open override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View?
Link copied to clipboard
@MainThread
@CallSuper
open fun onDestroy()
Link copied to clipboard
@MainThread
open fun onDestroyOptionsMenu()
Link copied to clipboard
open override fun onDestroyView()

Cleans up the binding reference when the view is destroyed to avoid memory leaks.

Link copied to clipboard
@MainThread
@CallSuper
open fun onDetach()
Link copied to clipboard
@NonNull
open fun onGetLayoutInflater(@Nullable savedInstanceState: Bundle?): LayoutInflater
Link copied to clipboard
@MainThread
open fun onHiddenChanged(hidden: Boolean)
Link copied to clipboard
@UiThread
@CallSuper
open fun onInflate(@NonNull activity: Activity, @NonNull attrs: AttributeSet, @Nullable savedInstanceState: Bundle?)
@UiThread
@CallSuper
open fun onInflate(@NonNull context: Context, @NonNull attrs: AttributeSet, @Nullable savedInstanceState: Bundle?)
Link copied to clipboard
@MainThread
@CallSuper
open fun onLowMemory()
Link copied to clipboard
open fun onMultiWindowModeChanged(isInMultiWindowMode: Boolean)
Link copied to clipboard
@MainThread
open fun onOptionsItemSelected(@NonNull item: MenuItem): Boolean
Link copied to clipboard
@MainThread
open fun onOptionsMenuClosed(@NonNull menu: Menu)
Link copied to clipboard
@MainThread
@CallSuper
open fun onPause()
Link copied to clipboard
open fun onPictureInPictureModeChanged(isInPictureInPictureMode: Boolean)
Link copied to clipboard
@MainThread
open fun onPrepareOptionsMenu(@NonNull menu: Menu)
Link copied to clipboard
@MainThread
open fun onPrimaryNavigationFragmentChanged(isPrimaryNavigationFragment: Boolean)
Link copied to clipboard
open fun onRequestPermissionsResult(requestCode: Int, @NonNull permissions: Array<out String?>, @NonNull grantResults: IntArray)
Link copied to clipboard
@MainThread
@CallSuper
open fun onResume()
Link copied to clipboard
@MainThread
open fun onSaveInstanceState(@NonNull outState: Bundle)
Link copied to clipboard
@MainThread
@CallSuper
open fun onStart()
Link copied to clipboard
@MainThread
@CallSuper
open fun onStop()
Link copied to clipboard
override fun onViewCreated(view: View, savedInstanceState: Bundle?)
Link copied to clipboard
open fun onViewReady(view: View, savedInstanceState: Bundle?)

Called after the fragment's view has been created.

Link copied to clipboard
@MainThread
@CallSuper
open fun onViewStateRestored(@Nullable savedInstanceState: Bundle?)
Link copied to clipboard
fun Fragment.pickDownloadPath(uri: Uri?, path: String?)
Link copied to clipboard
@LayoutRes
open fun pickLayout(): Int?

Pick a layout resource ID for the fragment.

Link copied to clipboard
fun postponeEnterTransition(duration: Long, @NonNull timeUnit: TimeUnit)
Link copied to clipboard
@MainThread
@NonNull
fun <I : Any?, O : Any?> registerForActivityResult(@NonNull contract: ActivityResultContract<I, O>, @NonNull callback: ActivityResultCallback<O>): ActivityResultLauncher<I?>
@MainThread
@NonNull
fun <I : Any?, O : Any?> registerForActivityResult(@NonNull contract: ActivityResultContract<I, O>, @NonNull registry: ActivityResultRegistry, @NonNull callback: ActivityResultCallback<O>): ActivityResultLauncher<I?>
Link copied to clipboard
open fun registerForContextMenu(@NonNull view: View)
Link copied to clipboard
fun requestPermissions(@NonNull permissions: Array<out String?>, requestCode: Int)
Link copied to clipboard
@NonNull
fun requireActivity(): FragmentActivity
Link copied to clipboard
@NonNull
fun requireArguments(): Bundle
Link copied to clipboard
@NonNull
fun requireContext(): Context
Link copied to clipboard
@NonNull
fun requireFragmentManager(): FragmentManager
Link copied to clipboard
@NonNull
fun requireHost(): Any
Link copied to clipboard
@NonNull
fun requireParentFragment(): Fragment
Link copied to clipboard
@NonNull
fun requireView(): View
Link copied to clipboard
open fun setEnterSharedElementCallback(@Nullable callback: SharedElementCallback?)
Link copied to clipboard
open fun setExitSharedElementCallback(@Nullable callback: SharedElementCallback?)
Link copied to clipboard
open fun setHasOptionsMenu(hasMenu: Boolean)
Link copied to clipboard
open fun setInitialSavedState(@Nullable state: Fragment.SavedState?)
Link copied to clipboard
open fun setMenuVisibility(menuVisible: Boolean)
Link copied to clipboard
fun Fragment.setSystemBarsPadding()
Link copied to clipboard
open fun setTargetFragment(@Nullable fragment: Fragment?, requestCode: Int)
Link copied to clipboard
fun Fragment?.setToolBarScrollFlags()
Link copied to clipboard
fun Fragment?.setUpToolbar(@StringRes title: Int)
fun Fragment?.setUpToolbar(title: String)
Link copied to clipboard
open fun shouldShowRequestPermissionRationale(@NonNull permission: String): Boolean
Link copied to clipboard
open fun startActivity(@NonNull intent: Intent)
open fun startActivity(@NonNull intent: Intent, @Nullable options: Bundle?)
Link copied to clipboard
open fun startActivityForResult(@NonNull intent: Intent, requestCode: Int)
open fun startActivityForResult(@NonNull intent: Intent, requestCode: Int, @Nullable options: Bundle?)
Link copied to clipboard
open fun startIntentSenderForResult(@NonNull intent: IntentSender, requestCode: Int, @Nullable fillInIntent: Intent?, flagsMask: Int, flagsValues: Int, extraFlags: Int, @Nullable options: Bundle?)
Link copied to clipboard
Link copied to clipboard
open fun unregisterForContextMenu(@NonNull view: View)