বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

ফ্র্যাগমেন্টের জন্য ব্যাক নেভিগেশন বাস্তবায়ন করা

যখন আপনার অ্যাপে ফ্রাগমেন্ট ব্যবহার করা হয়, স্বতন্ত্র FragmentTransaction FragmentTransaction অবজেক্ট কনটেক্সট পরিবর্তন পরিবেশন করতে পারে যা ব্যাক স্ট্যাকে যোগ হওয়া উচিত। উদাহরণস্বরূপ, যদি আপনি একটি হ্যান্ড সেটে ফ্রাগমেন্ট বিনিময় করার মাধ্যমে একটি master/detail_flow ভষড়ি বাস্তবায়ন করতে থাকেন, আপনার নিশ্চিত করা উচিত যে একটি ডিটেইল স্ক্রিনে ব্যাক বাটন প্রেস করা ইউজারকে মাস্টার (প্রধান) স্ক্রিনে ফেরত নিয়ে আসে। এটা করতে কোন বিনিময়ের পূর্বে addToBackStack() কল করুন।

// Works with either the framework FragmentManager or the
// support package FragmentManager (getSupportFragmentManager).
getSupportFragmentManager().beginTransaction()
                           .add(detailFragment, "detail")
                           // Add this transaction to the back stack
                           .addToBackStack()
                           .commit();

যখন ব্যাক স্ট্যাকে FragmentTransaction অবজেক্ট থাকে এবং ইউজার ব্যাক বাটন প্রেস করে, FragmentManager ব্যাক স্ট্যাক থেকে সবচেয়ে সাম্প্রতিক লেনদেন প্রস্থান করে এবং বিপরীত কার্যক্রম সম্পাদন করে (একটি ফ্রাগমেন্ট অপসারণ করা যদি লেনদেনটি এটাকে যুক্ত করে)।

নোট: ব্যাক স্ট্যাকে লেনদেন (ট্রানজেকশন) যুক্ত করা উচিত নয় যখন ট্রানজেকশন হরাইজন্টাল নেভিগেশনের জন্য হয়ে থাকে (যেমন যখন ট্যাব সুইচ করা হয়) বা যখন কনটেন্টের অ্যাপেয়ারেন্স (উপস্থিতি) পরিবর্তন করা হয় (যেমন যখন ফিল্টার অ্যাডজাস্ট করা হয়)। ব্যাক নেভিগেশন যখন যথাযথ হয় সে সম্পর্কে আরও তথ্যের জন্য Navigation ডিজাইন গাইড দেখুন।

যদি আপনার অ্যাপলিকেশন আপনার ফ্রামেন্টের বর্তমান অবস্থা প্রতিফলিত করার জন্য অন্য ইউজার ইন্টারফেস এলিমেন্টকে আপডেট করে , যেমন একশন বার, ইউআই আপডেট করার কথাটি স্মরণ রাখবেন যখন আপনি ট্রান্সজেকশনটি সম্পাদন করছেন। আপনার উচিত ব্যাক স্ট্যাক পরিবর্তন করার পর আপনার ইউজার ইন্টারফেস আপডেট করা যখন আপনি ট্রানজেকশন করছেন। আপনি শুনতে পারেন যখন একটি FragmentTransaction আবার আগের অবস্থায় ফিরে আসে একটি সেটআপ করার মাধ্যমে:

getSupportFragmentManager().addOnBackStackChangedListener(
        new FragmentManager.OnBackStackChangedListener() {
            public void onBackStackChanged() {
                // Update your UI here.
            }
        });