إنشاء وحدة تحكُّم للتنقّل

وحدة التحكم في التنقل هي أحد المفاهيم الرئيسية في التنقل. أُنشأها جون هنتر، الذي كان متخصصًا يحمل الرسم البياني للتنقل ويعرض الطرق التي تسمح للتطبيق بالتحرّك بين الوجهات في الرسم البياني.

عند استخدام مكوِّن التنقل، يمكنك إنشاء وحدة تحكم في التنقل باستخدام الفئة NavController. NavController هو المركز واجهة برمجة تطبيقات التنقل. تتتبّع الوجهات التي زارها المستخدم، وتسمح المستخدم للتنقل بين الوجهات. يوضح هذا الدليل كيفية إنشاء NavController في تطبيقك

للحصول على معلومات حول كيفية إضافة رسم بياني للتنقّل إلى NavController، يمكنك الاطّلاع على تصميم الرسم البياني للتنقل. بإمكان "NavController" تقديم بضع طرق مختلفة الانتقال إلى الوجهات في الرسم البياني لمزيد من المعلومات، راجع الانتقال إلى الوجهة.

إنشاء

لإنشاء NavController عند استخدام Jetpack Compose، اطلب rememberNavController():

val navController = rememberNavController()

يجب أن تنشئ NavController في ترتيب مرتفع ضمن التدرّج الهرمي القابل للإنشاء. أُنشأها جون هنتر، الذي كان متخصصًا يجب أن يكون عاليًا بما يكفي بحيث يمكن لجميع العناصر القابلة للإنشاء التي تحتاج إلى الرجوع إليها القيام بذلك.

يتيح لك ذلك استخدام NavController كمصدر وحيد للحقيقة وتحديث العناصر القابلة للإنشاء خارج شاشاتك. يتبع هذا مبادئ نقل الحالة.

المشاهدات

إذا كنت تستخدم إطار عمل واجهة مستخدم طرق العرض، يمكنك استرداد NavController باستخدام إحدى الطرق التالية حسب السياق:

Kotlin:

Java:

عادةً ما تحصل على NavHostFragment أولاً، ثم تسترد NavController من الجزء. ويوضّح المقتطف التالي هذا:

Kotlin

val navHostFragment =
    supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController

Java

NavHostFragment navHostFragment =
    (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();

محتوى إضافي للقراءة