নেভিগেশন অ্যাকশন এবং ফ্র্যাগমেন্ট ব্যবহার করুন

আপনি নেভিগেশন কর্ম ব্যবহার করে টুকরা মধ্যে সংযোগ তৈরি করতে পারেন. একটি নেভিগেশন অ্যাকশন উদ্দীপনা ব্যবহারকারীকে এক গন্তব্য থেকে অন্য গন্তব্যে নিয়ে যায়। এই নির্দেশিকা ব্যাখ্যা করে যে ক্রিয়াগুলি কী এবং আপনি কীভাবে সেগুলি তৈরি এবং ব্যবহার করতে পারেন তা প্রদর্শন করে৷

ওভারভিউ

প্রতিটি অ্যাকশনের একটি অনন্য আইডি থাকে এবং এতে গন্তব্যের মতো অতিরিক্ত বৈশিষ্ট্য থাকতে পারে। গন্তব্যটি স্ক্রীনকে সংজ্ঞায়িত করে যেখানে অ্যাপটি ব্যবহারকারীকে নিয়ে যায় যখন তারা অ্যাকশনটি ট্রিগার করে। ক্রিয়াটি এক গন্তব্য থেকে অন্য গন্তব্যে ডেটা বহন করতে আর্গুমেন্ট ব্যবহার করতে পারে।

উদাহরণ

<action> ট্যাগ ব্যবহার করে আপনার নেভিগেশন গ্রাফ XML ফাইলে অ্যাকশন সংজ্ঞায়িত করুন। নিম্নলিখিত স্নিপেটটি একটি ক্রিয়া প্রয়োগ করে যা FragmentA থেকে FragmentB -তে রূপান্তরের প্রতিনিধিত্ব করে।

<fragment
    android:id="@+id/fragmentA"
    android:name="com.example.FragmentA">
    <action
        android:id="@+id/action_fragmentA_to_fragmentB"
        app:destination="@id/fragmentB" />
</fragment>

এই ক্রিয়াটি ব্যবহার করে নেভিগেট করতে, আপনি NavController.navigate() কল করুন এবং এটিকে অ্যাকশনের id পাস করুন:

navController.navigate(R.id.action_fragmentA_to_fragmentB)

বিশ্বব্যাপী কর্ম

আপনি যে কোনও জায়গা থেকে একটি গন্তব্যে নেভিগেট করতে বিশ্বব্যাপী ক্রিয়াকলাপ ব্যবহার করতে পারেন।

আপনার অ্যাপের যেকোনো গন্তব্যের জন্য যা একাধিক পথের মাধ্যমে অ্যাক্সেসযোগ্য, সেই গন্তব্যে নেভিগেট করে এমন একটি সংশ্লিষ্ট গ্লোবাল অ্যাকশন সংজ্ঞায়িত করুন।

নিম্নলিখিত উদাহরণ বিবেচনা করুন. results_winner এবং game_over গন্তব্য উভয়কেই হোম গন্তব্যে পপ আপ করতে হবে। action_pop_out_of_game অ্যাকশন তা করার ক্ষমতা প্রদান করে; action_pop_out_of_game হল কোনো নির্দিষ্ট অংশের বাইরে একটি বিশ্বব্যাপী ক্রিয়া। এর মানে আপনি in_game_nav_graph মধ্যে যেকোন জায়গায় এটিকে উল্লেখ করতে এবং কল করতে পারেন।

<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:id="@+id/in_game_nav_graph"
   app:startDestination="@id/in_game">

   <!-- Action back to destination which launched into this in_game_nav_graph -->
   <action android:id="@+id/action_pop_out_of_game"
                       app:popUpTo="@id/in_game_nav_graph"
                       app:popUpToInclusive="true" />

   <fragment
       android:id="@+id/in_game"
       android:name="com.example.android.gamemodule.InGame"
       android:label="Game">
       <action
           android:id="@+id/action_in_game_to_resultsWinner"
           app:destination="@id/results_winner" />
       <action
           android:id="@+id/action_in_game_to_gameOver"
           app:destination="@id/game_over" />
   </fragment>

   <fragment
       android:id="@+id/results_winner"
       android:name="com.example.android.gamemodule.ResultsWinner" />

   <fragment
       android:id="@+id/game_over"
       android:name="com.example.android.gamemodule.GameOver"
       android:label="fragment_game_over"
       tools:layout="@layout/fragment_game_over" />

</navigation>