ফ্র্যাগমেন্ট ব্যবহার করার আগে আমাদের ফ্র্যাগমেন্ট তৈরি করতে হবে। ফ্র্যাগমেন্ট তৈরি করতে আমাদের একটা XML লেআউট ফাইল লাগবে। এবং একটি জাভা ক্লাস তৈরি করতে হবে। এর পরের কাজ হচ্ছে ফ্র্যাগমেন্টের ব্যবহার। আমরা দুই ভাবে ফ্র্যাগমেন্ট ব্যবহার করতে পারি। একটি হচ্ছে XML থেকে। আরেকটি হচ্ছে Java কোড থেকে। এখন দেখব কিভাবে xml থেকে ফ্র্যাগমেন্ট ব্যবহার করা যায়। ফ্র্যাগমেন্ট ব্যবহার করার জন্য প্রথমে আমরা একটি লেআউট ফাইল তৈরি করে নি। যেমন fragment.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello from Fragment" /> </RelativeLayout>
আমাদের ফ্র্যাগমেন্ট লেআউটে একটি টেক্সট ভিউ রয়েছে। আর যার মধ্যে লেখা রয়েছে Hello from fragment. যখন আমরা আমাদের এই ফ্র্যাগমেন্ট লেআউটটি লোড করব, তখন আমাদের এই লেখাটি দেখাবে।
এরপর আমরা একটা জাভা ক্লাস তৈরি করব। যেমন MyFragment.java
import android.app.Fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class MyFragment extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment, container, false); return view; } }
এই ক্লাস থেকে আমরা ফ্র্যাগমেন্ট ব্যবহার করব। তাই আমাদের Fragment ক্লাসকে extend করতে হবে। এরপরের কাজ হচ্ছে OnCreateView ওভাররাইড করা। এখানে তিনটে প্যারামিটার পাস করতে হয়। একটা হচ্ছে লেআউট। আমাদের ফ্র্যাগমেন্ট লেআউট। এরপর হচ্ছে container হচ্ছে ভিউগ্রুপ। যেটা আমাদের লেআউট কন্টেইন করবে। এবং শেষে SaveInstanceState Bundle।
আমাদের ফ্র্যাগমেন্ট তৈরি হয়ে গিয়েছে। এবার আমরা এটি ব্যবহার করতে পারি। আমরা xml থেকে ব্যবহার করব। তার জন্য আমাদের activity_main.xml বা মেইন লেআউট ফাইলে আমাদের ফ্র্যাগমেন্ট যুক্ত করে দিবঃ
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="me.jakir.fragmentfromxml.MainActivity"> <fragment android:id="@+id/fragment" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout="@layout/fragment" android:name="me.jakir.fragmentfromxml.MyFragment"/> </RelativeLayout>
এখন যদি আমরা প্রোগ্রামটি রান করি, তাহলে আমরা দেখতে পাবো আমাদের লেআউট ফাইলটি লোড হচ্ছে।