Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

NavDestination

open class NavDestination
kotlin.Any
   ↳ androidx.navigation.NavDestination

NavDestination represents one node within an overall navigation graph.

Each destination is associated with a Navigator which knows how to navigate to this particular destination.

Destinations declare a set of actions that they support. These actions form a navigation API for the destination; the same actions declared on different destinations that fill similar roles allow application code to navigate based on semantic intent.

Each destination has a set of arguments that will be applied when navigating to that destination. Any default values for those arguments can be overridden at the time of navigation.

Summary

Nested classes

This optional annotation allows tooling to offer auto-complete for the android:name attribute.

Public constructors
<init>(@NonNull navigator: Navigator<out NavDestination!>)

NavDestinations should be created via Navigator#createDestination.

<init>(@NonNull navigatorName: String)

NavDestinations should be created via Navigator#createDestination.

Public methods
Unit
addArgument(@NonNull argumentName: String, @NonNull argument: NavArgument)

Sets an argument type for an argument name

Unit
addDeepLink(@NonNull uriPattern: String)

Add a deep link to this destination.

Unit
addDeepLink(@NonNull navDeepLink: NavDeepLink)

Add a deep link to this destination.

NavAction?
getAction(@IdRes id: Int)

Returns the destination ID for a given action.

MutableMap<String!, NavArgument!>

Get the arguments supported by this destination.

Int

Returns the destination's unique ID.

CharSequence?

Gets the descriptive label of this destination.

String

Returns the name associated with this destination's Navigator.

NavGraph?

Gets the NavGraph that contains this destination.

open Boolean
hasDeepLink(@NonNull deepLink: Uri)

Checks the given deep link Uri, and determines whether it matches a Uri pattern added to the destination by a call to addDeepLink(String) .

open Boolean
hasDeepLink(@NonNull deepLinkRequest: NavDeepLinkRequest)

Checks the given NavDeepLinkRequest, and determines whether it matches a NavDeepLink added to the destination by a call to addDeepLink(NavDeepLink).

open Unit
onInflate(@NonNull context: Context, @NonNull attrs: AttributeSet)

Called when inflating a destination from a resource.

Unit
putAction(@IdRes actionId: Int, @IdRes destId: Int)

Sets a destination ID for an action ID.

Unit
putAction(@IdRes actionId: Int, @NonNull action: NavAction)

Sets a destination ID for an action ID.

Unit
removeAction(@IdRes actionId: Int)

Unsets the destination ID for an action ID.

Unit
removeArgument(@NonNull argumentName: String)

Unsets the argument type for an argument name.

Unit
setId(@IdRes id: Int)

Sets the destination's unique ID.

Unit
setLabel(@Nullable label: CharSequence?)

Sets the descriptive label of this destination.

open String

Protected methods
open static Class<out C>
parseClassFromName(@NonNull context: Context, @NonNull name: String, @NonNull expectedClassType: Class<out C>)

Parse the class associated with this destination from a raw name, generally extracted from the android:name attribute added to the destination's XML.

Public constructors

<init>

NavDestination(@NonNull navigator: Navigator<out NavDestination!>)

NavDestinations should be created via Navigator#createDestination.

This constructor requires that the given Navigator has a Navigator.Name annotation.

<init>

NavDestination(@NonNull navigatorName: String)

NavDestinations should be created via Navigator#createDestination.

Public methods

addArgument

fun addArgument(
    @NonNull argumentName: String,
    @NonNull argument: NavArgument
): Unit

Sets an argument type for an argument name

Parameters
argumentName String: argument object to associate with destination
fun addDeepLink(@NonNull uriPattern: String): Unit

Add a deep link to this destination. Matching Uris sent to NavController#handleDeepLink(Intent) or NavController#navigate(Uri) will trigger navigating to this destination.

In addition to a direct Uri match, the following features are supported:

  • Uris without a scheme are assumed as http and https. For example, www.example.com will match http://www.example.com and https://www.example.com.
  • Placeholders in the form of {placeholder_name} matches 1 or more characters. The String value of the placeholder will be available in the arguments Bundle with a key of the same name. For example, http://www.example.com/users/{id} will match http://www.example.com/users/4.
  • The .* wildcard can be used to match 0 or more characters.
These Uris can be declared in your navigation XML files by adding one or more <deepLink app:uri="uriPattern" /> elem