نوع NavController
برای انجام عملیات ناوبری به یک یا چند شی Navigator
متکی است. به طور پیشفرض، NavController
از خروج از نمودار ناوبری با پیمایش به یک فعالیت دیگر با استفاده از کلاس ActivityNavigator
و کلاس ActivityNavigator.Destination
تو در تو پشتیبانی میکند.
برای پیمایش به هر نوع مقصد دیگری، یک یا چند شی Navigator
اضافی باید به NavController
اضافه شود. به عنوان مثال، هنگام استفاده از قطعات به عنوان مقصد، NavHostFragment
به طور خودکار کلاس FragmentNavigator
را به NavController
خود اضافه می کند.
برای افزودن یک شی Navigator
جدید به NavController
، از متد getNavigatorProvider()
و به دنبال آن از متد addNavigator()
استفاده کنید.
کد زیر نمونه ای از اضافه کردن یک شی CustomNavigator
به NavController
را نشان می دهد:
کاتلین
val customNavigator = CustomNavigator() navController.navigatorProvider += customNavigator
جاوا
CustomNavigator customNavigator = new CustomNavigator(); navController.getNavigatorProvider().addNavigator(customNavigator);
اکثر کلاس های Navigator
دارای یک زیر کلاس مقصد تو در تو هستند. این زیر کلاس می تواند برای تعیین ویژگی های اضافی منحصر به فرد برای مقصد شما استفاده شود. برای اطلاعات بیشتر در مورد زیر کلاس های مقصد، به مستندات مرجع برای کلاس Navigator
مناسب مراجعه کنید.
منابع اضافی
برای کسب اطلاعات بیشتر در مورد ناوبری، به منابع اضافی زیر مراجعه کنید.