Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android में पिछली एक्टिविटी पर वापस कैसे जाएं


एक्टिविटी नेविगेशन

यदि आप एक एक्टिविटी से दूसरी एक्टिविटी पर जाकर वापस आना चाहते हैं, तो आप finish() मेथड का उपयोग कर सकते हैं। प्रत्येक एक्टिविटी एक्टिविटी स्टैक में स्टोर होती है, इसलिए शीर्ष एक्टिविटी को बंद करने पर पिछली एक्टिविटी दिखती है।

उदाहरण: दो एक्टिविटी के बीच नेविगेशन

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें।

चरण 2: पहली एक्टिविटी लेआउट (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="#33FFFF00"
    android:gravity="center"
    android:orientation="vertical">
    <TextView
        android:id="@+id/text"
        android:textSize="18sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

चरण 3: MainActivity.java

package com.example.andy.myapplication;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView textView = findViewById(R.id.text);
        textView.setText("click for second activity");

        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this, Main2Activity.class);
                startActivity(i);
            }
        });
    }
}

चरण 4: दूसरी एक्टिविटी लेआउट (res/layout/activity_main2.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="#33FFFF00"
    android:gravity="center"
    android:orientation="vertical">
    <TextView
        android:id="@+id/text"
        android:textSize="18sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

चरण 5: Main2Activity.java

package com.example.andy.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class Main2Activity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        TextView textView = findViewById(R.id.text);
        textView.setText("click for go back first activity");

        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }
}

कोड व्याख्या

दूसरी एक्टिविटी में finish() कॉल करने से वह एक्टिविटी स्टैक से हट जाती है और पिछली एक्टिविटी (MainActivity) पुनः दिखाई देती है। यह Android में बैक नेविगेशन का मानक तरीका है।

ऐप चलाएं और परीक्षण करें

ऐप चलाएं। पहली स्क्रीन पर क्लिक करने पर दूसरी एक्टिविटी खुलेगी। दूसरी स्क्रीन पर क्लिक करने पर पहली एक्टिविटी पर वापस आ जाएंगे।

Android में पिछली एक्टिविटी पर वापस कैसे जाएं

दूसरी एक्टिविटी:

Android में पिछली एक्टिविटी पर वापस कैसे जाएं

वापस पहली एक्टिविटी पर:

Android में पिछली एक्टिविटी पर वापस कैसे जाएं

मुख्य बिंदु

  • finish() वर्तमान एक्टिविटी को समाप्त करके स्टैक से हटा देता है।
  • एक्टिविटी स्टैक LIFO (Last-In-First-Out) क्रम का पालन करता है।
  • बैक बटन दबाने पर भी डिफ़ॉल्ट रूप से finish() ही कॉल होता है।
  • डेटा वापस पास करने के लिए startActivityForResult() या ActivityResultLauncher का उपयोग करें।
  1. एंड्रॉइड में एक्टिविटी से फ्रैगमेंट में वेरिएबल कैसे पास करें? एंड्रॉइड में एक्टिविटी से फ्रैगमेंट में वेरिएबल कैसे पास करें?

    Bundle और setArguments के साथ फ्रैगमेंट को डेटा पास करें यह उदाहरण दर्शाता है कि Bundle का उपयोग करके एक्टिविटी से फ्रैगमेंट में स्ट्रिंग डेटा कैसे पास करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट में कंटेनर और इनपुट res/layout/activity_main.xml: <?

  1. Android में दूसरी एक्टिविटी से मुख्य एक्टिविटी में डेटा कैसे भेजें? Android में दूसरी एक्टिविटी से मुख्य एक्टिविटी में डेटा कैसे भेजें?

    startActivityForResult से डेटा वापस भेजना यह उदाहरण दर्शाता है कि startActivityForResult() और onActivityResult() का उपयोग करके दूसरी एक्टिविटी से मुख्य एक्टिविटी में डेटा कैसे वापस भेजें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: मुख्य लेआउट (activity_main.xml)

  1. एंड्रॉइड में फ्रैगमेंट से एक्टिविटी का मेथड कैसे कॉल करें एंड्रॉइड में फ्रैगमेंट से एक्टिविटी का मेथड कैसे कॉल करें

    फ्रैगमेंट से होस्ट एक्टिविटी के पब्लिक मेथड को कॉल करने के तरीके एंड्रॉइड में फ्रैगमेंट अपनी होस्ट एक्टिविटी के साथ getActivity() के माध्यम से संवाद कर सकता है। एक्टिविटी के पब्लिक मेथड को कॉल करने के लिए फ्रैगमेंट को एक्टिविटी को उपयुक्त टाइप में कास्ट करना होता है। यह पैटर्न फ्रैगमेंट-एक्टिविटी सं