backButton
এই পর্বে আমরা দেখবো কিভাবে অ্যাপের ভিতরে ব্যাক বাটন ইউজ করতে পারি । তো চলুন শুরু করা যাক ।
activity_main.xml -
শুধুমাত্র একটি বাটন নিলাম , বাটনে ক্লিক করলে অন্য আরেকটি এক্টিভিটিতে চলে যাবে । সেই এক্টভিটি তে আমরা ব্যাক বাটন ইউজ করবো যেন সেখানে ক্লিক করলে আবার এই এক্টিভিটিতে চলে আসে ।
activity_main2.xml -
এখানে একটি টেক্সভিউ নিলাম শুধুমাত্র বুঝানোর জন্য যে আমরা আরেকটি এক্টিভিটিতে আসছি ।
MainActivity.java তে কিছু করতে হবে নাহ ।
Main2Activity.java -
onCreate ম্যাথডের ভিতরে ১০ ও ১১ নাম্বার এর ম্যাথড দুইটি লিখে দিতে হবে । এই ম্যাথড দুইটি দ্বারা এন্ড্রয়েড এ যে বিল্ডিইন ব্যাক বাটন আছে সেটি শো করবে । এখন এই বাটনে অনক্লিক ম্যাথড এড করার জন্য onOptionsItemSelected ম্যাথডটি ইউজ করতে হবে, যেহেতু এটি একশন বার এ দেখাচ্ছে আইডি টা item প্যারামিটার এ চলে আসবে । সেখান থেকে আমরা ফাইন্ড করলাম আইডি টা android এর বিল্ড ইন তৈরি করা home বাটন কিনা (হোম মানেই ব্যাক অপশন ) ,তাহলে এই এক্টিভিটি ফিনিশ হয়ে তার আগের এক্টভিটিতে চলে যাবে ।
এবার অ্যাপটি রান করে দেখুন 😊😊😊
ব্যাক বাটনে ফিরিয়ে নেয়ার আরো একটি ধাপ আছে । onOptionsItemSelected ম্যাথড ইউজ নাহ করে ডিরেক্টলি AndroidManifest.xml এর ভিতরে গিয়ে যে এক্টিভিটি তে ব্যাকবাটন ইউজ করবেন সেই activity তে তার আগের এক্টিভিটির নাম মানে যেখানে ক্লিক করার মাধ্যমে এই এক্টিভিটি ওপেন হয়েছে তার নাম লিখে দিবেন parentActivityName এর ভিতরে ।
ধরুন ইউজার আপনার অ্যাপের অনেক ভিতরে ডুকে গেছে এখন ব্যাক বাটন করে করে ফিরে আসতে ইউজার অনেক বিরক্ত হবে তাই এক্ষেত্রে যদি আমরা কোন এক্টিভিটি স্কিপ করে ইউজারকে যে এক্টিভিটি দেখাতে চাই সেটিতে নিয়ে যেতে চাই তাহলে parenActivityName এ ইউজারকে যে এক্টিভিটি দেখাতে চান সেটির নাম লিখে দিবেন । 😊😊😊
activity_main.xml -
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context="com.example.user.learnandroid.MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go Ahead"
android:textAllCaps="false"
android:textSize="25sp"
android:padding="10dp"
android:onClick="GoAhead"/>
</LinearLayout>
শুধুমাত্র একটি বাটন নিলাম , বাটনে ক্লিক করলে অন্য আরেকটি এক্টিভিটিতে চলে যাবে । সেই এক্টভিটি তে আমরা ব্যাক বাটন ইউজ করবো যেন সেখানে ক্লিক করলে আবার এই এক্টিভিটিতে চলে আসে ।
activity_main2.xml -
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context="com.example.user.learnandroid.Main2Activity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Second Activity"
android:textSize="30sp"
android:textStyle="bold"/>
</LinearLayout>
এখানে একটি টেক্সভিউ নিলাম শুধুমাত্র বুঝানোর জন্য যে আমরা আরেকটি এক্টিভিটিতে আসছি ।
MainActivity.java তে কিছু করতে হবে নাহ ।
Main2Activity.java -
1: package com.example.user.learnandroid;
2: import android.support.v7.app.AppCompatActivity;
3: import android.os.Bundle;
4: import android.view.MenuItem;
5: public class Main2Activity extends AppCompatActivity {
6: @Override
7: protected void onCreate(Bundle savedInstanceState) {
8: super.onCreate(savedInstanceState);
9: setContentView(R.layout.activity_main2);
10: getSupportActionBar().setDisplayHomeAsUpEnabled(true);
11: getSupportActionBar().setDisplayShowHomeEnabled(true);
12: }
13: @Override
14: public boolean onOptionsItemSelected(MenuItem item) {
15: if(item.getItemId()==android.R.id.home){
16: this.finish();
17: }
18: return super.onOptionsItemSelected(item);
19: }
20: }
onCreate ম্যাথডের ভিতরে ১০ ও ১১ নাম্বার এর ম্যাথড দুইটি লিখে দিতে হবে । এই ম্যাথড দুইটি দ্বারা এন্ড্রয়েড এ যে বিল্ডিইন ব্যাক বাটন আছে সেটি শো করবে । এখন এই বাটনে অনক্লিক ম্যাথড এড করার জন্য onOptionsItemSelected ম্যাথডটি ইউজ করতে হবে, যেহেতু এটি একশন বার এ দেখাচ্ছে আইডি টা item প্যারামিটার এ চলে আসবে । সেখান থেকে আমরা ফাইন্ড করলাম আইডি টা android এর বিল্ড ইন তৈরি করা home বাটন কিনা (হোম মানেই ব্যাক অপশন ) ,তাহলে এই এক্টিভিটি ফিনিশ হয়ে তার আগের এক্টভিটিতে চলে যাবে ।
এবার অ্যাপটি রান করে দেখুন 😊😊😊
ব্যাক বাটনে ফিরিয়ে নেয়ার আরো একটি ধাপ আছে । onOptionsItemSelected ম্যাথড ইউজ নাহ করে ডিরেক্টলি AndroidManifest.xml এর ভিতরে গিয়ে যে এক্টিভিটি তে ব্যাকবাটন ইউজ করবেন সেই activity তে তার আগের এক্টিভিটির নাম মানে যেখানে ক্লিক করার মাধ্যমে এই এক্টিভিটি ওপেন হয়েছে তার নাম লিখে দিবেন parentActivityName এর ভিতরে ।
<activity android:name=".Main2Activity"
android:parentActivityName=".MainActivity"
></activity>
ধরুন ইউজার আপনার অ্যাপের অনেক ভিতরে ডুকে গেছে এখন ব্যাক বাটন করে করে ফিরে আসতে ইউজার অনেক বিরক্ত হবে তাই এক্ষেত্রে যদি আমরা কোন এক্টিভিটি স্কিপ করে ইউজারকে যে এক্টিভিটি দেখাতে চাই সেটিতে নিয়ে যেতে চাই তাহলে parenActivityName এ ইউজারকে যে এক্টিভিটি দেখাতে চান সেটির নাম লিখে দিবেন । 😊😊😊
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন