नए डेस्टिनेशन टाइप के लिए सहायता जोड़ें
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
NavController
टाइप, नेविगेशन ऑपरेशन करने के लिए, एक या उससे ज़्यादा Navigator
ऑब्जेक्ट पर निर्भर करता है. डिफ़ॉल्ट रूप से, NavController
नेविगेशन ग्राफ़ से बाहर निकलने की सुविधा देता है. इसके लिए, ActivityNavigator
क्लास और नेस्ट की गई ActivityNavigator.Destination
क्लास का इस्तेमाल करके, किसी दूसरी गतिविधि पर नेविगेट करें.
किसी दूसरे टाइप के डेस्टिनेशन पर जाने के लिए, NavController
में एक या उससे ज़्यादा Navigator
ऑब्जेक्ट जोड़ने होंगे. उदाहरण के लिए, फ़्रैगमेंट को डेस्टिनेशन के तौर पर इस्तेमाल करने पर, NavHostFragment
अपने NavController
में FragmentNavigator
क्लास को अपने-आप जोड़ देता है.
NavController
में नया Navigator
ऑब्जेक्ट जोड़ने के लिए, पहले getNavigatorProvider()
और फिर addNavigator()
का इस्तेमाल करें.
यहां दिए गए कोड में, NavController
में CustomNavigator
ऑब्जेक्ट जोड़ने का उदाहरण दिया गया है:
Kotlin
val customNavigator = CustomNavigator()
navController.navigatorProvider += customNavigator
Java
CustomNavigator customNavigator = new CustomNavigator();
navController.getNavigatorProvider().addNavigator(customNavigator);
ज़्यादातर Navigator
क्लास में नेस्ट किया गया डेस्टिनेशन सबक्लास होता है. इस सबक्लास का इस्तेमाल, अपने डेस्टिनेशन के हिसाब से अन्य एट्रिब्यूट की जानकारी देने के लिए किया जा सकता है. डेस्टिनेशन सबक्लास के बारे में ज़्यादा जानकारी के लिए, सही Navigator
क्लास के लिए रेफ़रंस दस्तावेज़ देखें.
अन्य संसाधन
नेविगेशन के बारे में ज़्यादा जानने के लिए, यहां दिए गए अन्य संसाधन देखें.
कोडलैब
वीडियो
इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं.
आखिरी बार 2025-07-27 (UTC) को अपडेट किया गया.
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 2025-07-27 (UTC) को अपडेट किया गया."],[],[],null,["# Add support for new destination types\n\nThe [`NavController`](/reference/androidx/navigation/NavController) type\nrelies on one or more\n[`Navigator`](/reference/androidx/navigation/Navigator) objects to perform\nthe navigation operation. By default, `NavController` supports leaving the\nnavigation graph by navigating to another activity using the\n[`ActivityNavigator`](/reference/androidx/navigation/ActivityNavigator)\nclass and its nested\n[`ActivityNavigator.Destination`](/reference/androidx/navigation/ActivityNavigator.Destination)\nclass.\n\nTo navigate to any other type of destination, one or more additional `Navigator`\nobjects must be added to the `NavController`. For example, when using fragments\nas destinations, the\n[`NavHostFragment`](/reference/androidx/navigation/fragment/NavHostFragment)\nautomatically adds the\n[`FragmentNavigator`](/reference/androidx/navigation/fragment/FragmentNavigator)\nclass to its `NavController`.\n\nTo add a new `Navigator` object to a `NavController`, use the\n[`getNavigatorProvider()`](/reference/androidx/navigation/NavController#getNavigatorProvider())\nmethod, followed by the\n[`addNavigator()`](/reference/androidx/navigation/NavigatorProvider#addNavigator(androidx.navigation.Navigator))\nmethod.\n\nThe following code shows an example of adding a `CustomNavigator` object to a\n`NavController`: \n\n### Kotlin\n\n```kotlin\nval customNavigator = CustomNavigator()\nnavController.navigatorProvider += customNavigator\n```\n\n### Java\n\n```java\nCustomNavigator customNavigator = new CustomNavigator();\nnavController.getNavigatorProvider().addNavigator(customNavigator);\n```\n\nMost `Navigator` classes have a nested destination subclass. This subclass can\nbe used to specify additional attributes unique to your destination. For more\ninformation about destination subclasses, see the reference documentation for\nthe appropriate [`Navigator`](/reference/androidx/navigation/Navigator)\nclass.\n\nAdditional resources\n--------------------\n\nTo learn more about navigation, see the following\nadditional resources.\n\n\u003cbr /\u003e\n\n### Codelabs\n\n\u003cbr /\u003e\n\n- [Learn Jetpack Navigation codelab](https://codelabs.developers.google.com/codelabs/android-navigation/index.html?index=..%2F..%2Findex#0)\n\n\u003cbr /\u003e\n\n### Videos\n\n\u003cbr /\u003e\n\n- [Android Jetpack: Manage UI navigation with Navigation Controller](https://www.youtube.com/watch?v=8GCXtCjtg40)"]]