Android - टाइटल बार में बैक बटन


111

कई ऐप (कैलेंडर, ड्राइव, प्ले स्टोर) में जब आप एक बटन टैप करते हैं और एक नई गतिविधि दर्ज करते हैं, तो टाइटल बार में आइकन बैक बटन में बदल जाता है, लेकिन मैं जो ऐप बना रहा हूं, वह ऐसा नहीं करता है। मैं उस आइकन को पिछली स्क्रीन पर वापस कैसे ले जाऊं?


GetSupportActionBar () ऑनक्रिएट उदाहरण में यहां देखें freakyjolly.com/how-to-add-back-arrow-in-android-activity
Code Spy

जवाबों:


145

टाइटल बार में बैक बटन बनाने के दो सरल चरण हैं:

सबसे पहले, उस गतिविधि के निम्नलिखित कोड का उपयोग करके एप्लिकेशन आइकन को क्लिक करने योग्य बनाएं जिसका शीर्षक बार में आप बैक बटन रखना चाहते हैं:

ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);

उपरोक्त कोड जोड़ने के बाद, आपको एप्लिकेशन आइकन के बाईं ओर एक बैक एरो दिखाई देगा।

यहां छवि विवरण दर्ज करें

दूसरा, आपके द्वारा उपरोक्त कार्य करने के बाद, आपको अभी भी कोड बनाना होगा जो क्लिक इवेंट का लाभ उठाएगा। ऐसा करने के लिए, ध्यान रखें कि, जब आप वास्तव में एप्लिकेशन आइकन पर क्लिक करते हैं, तो एक onOptionsItemSelectedविधि कहा जाता है। तो पिछली गतिविधि पर वापस जाने के लिए, अपनी गतिविधि में उस पद्धति को जोड़ें और उसमें Intentकोड डालें जो आपको पिछली गतिविधि में वापस कर देगा। उदाहरण के लिए, मान लीजिए कि जिस गतिविधि को आप वापस जाने की कोशिश कर रहे हैं उसे कहा जाता है MyActivity। इस पर वापस जाने के लिए, इस प्रकार विधि लिखें:

public boolean onOptionsItemSelected(MenuItem item){
    Intent myIntent = new Intent(getApplicationContext(), MyActivity.class);
    startActivityForResult(myIntent, 0);
    return true;
}

बस!

(एंड्रॉइड डेवलपर्स एपीआई में, यह प्रकट रूप से गड़बड़ करने और सामान जोड़ने की सलाह देता है android:parentActivityName। लेकिन यह मेरे लिए काम नहीं करता है। उपरोक्त सरल और अधिक विश्वसनीय है।)

<meta-data
      android:name="android.support.PARENT_ACTIVITY"
      android:value=".MainActivity" />

और आपकी गतिविधि में

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

23
आपने अच्छी तरह से समझाया, लेकिन अगर आपके onOption में गलत नहीं है। यह चयनित है कि आपको सिर्फ कॉल समाप्त होना चाहिए (); आपके मामले में startActivityForResult दूसरी गतिविधि लॉन्च करेगा और जब आप दूसरी गतिविधि से वापस दबाएंगे तो आपको पहली गतिविधि पर वापस ले जाया जाएगा (जहां यो एक्शन बार आइकन दबाया गया है)
याह्या अरशद

8
इसके अलावा, आपको केवल तभी करना चाहिए जब item.getItemId () android.R.id.home है
bitek

2
जैसा कि कहा गया है: "मेथड इनवोकेशन 'एक्शनBar.setDisplayHomeAsUpEnabled (सच)' java.lang.NullPointerException" का उत्पादन कर सकता है
स्टेट्सोडेटकॉम

1
चेतावनी! टूलबार एक्शन के साथ बरार क्रैश के साथ शून्य हो जाता है। नीचे उत्तर देखें।
कूलमाइंड

5
getActionBar () मेरे लिए काम नहीं करता, ऐप बस क्रैश हो जाता है। getSupportActionBar () ने काम किया।
जॉन ktejik

60

इस कोड का उपयोग करें

 @Override
 public void onCreate(Bundle savedInstanceState) {
    ...
   getActionBar().setDisplayHomeAsUpEnabled(true);
 } 

उसके बाद इस कोड को onOptionsItemSelectedविधि में लिखें

  int id = item.getItemId();

     if (id==android.R.id.home) {
        finish();
    }

1
getActionBar()मुझे एक अशक्त देता है; तुम जानते हो क्यों?
मिसेमिलु

3
क्योंकि ActionBar नहीं है, उदाहरण के लिए शैली के साथ <आइटम का नाम = "android: windowActionBar"> झूठा </ आइटम> <आइटम का नाम = "android: windowNoTitle"> true </ आइटम>
पॉल वेरेस्ट

47

मैं आखिरकार एक्शनबार / टूलबार में ठीक से बैक बटन जोड़ने में कामयाब रहा

@Override
public void onCreate(Bundle savedInstanceState) {
    ...
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}  

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            finish();
            return true;
    }

    return super.onOptionsItemSelected(item);
}

public boolean onCreateOptionsMenu(Menu menu) {
    return true;
}

3
यह एकमात्र उत्तर है जो मेरे लिए काम करता है। साभार @LucyFair
Arda Mayebi

2
वही। आपके उत्तर के लिए धन्यवाद।
मारिया

वही। अन्य उत्तरों में से कोई भी काम नहीं करता है। यह स्वीकृत उत्तर होना चाहिए था।
एल सुशीबोई 19

18

1.- AndroidManifest.xml में गतिविधि जोड़ें और मेटा-डेटा प्रदान करना सुनिश्चित करें:

<activity
    android:name="com.example.myfirstapp.DisplayMessageActivity"
    android:label="@string/title_activity_display_message"
    android:parentActivityName="com.example.myfirstapp.MainActivity" >
    <!-- Parent activity meta-data to support 4.0 and lower -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.example.myfirstapp.MainActivity" />
</activity>

2.- गतिविधि की विधि पर निम्नलिखित कोड जोड़ें:

@Override
public void onCreate(Bundle savedInstanceState) {
    ...
    getActionBar().setDisplayHomeAsUpEnabled(true);
} 

3.- onOptionsItemSelected को ओवरराइड करें और स्टैक को नेविगेट करने के लिए NavUtils.navigateUpFromSameTask () स्टैटिक विधि का उपयोग करें।

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    // Respond to the action bar's Up/Home button
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    }
    return super.onOptionsItemSelected(item);
}

हालाँकि, जब आपके ऐप को वर्तमान कार्य का स्वामी है (यानी, उपयोगकर्ता ने आपके ऐप से यह कार्य शुरू किया है) केवल तब ही नेविगेट किया जाता है। यदि यह सच नहीं है और आपकी गतिविधि एक ऐसे कार्य में शुरू हुई थी, जो एक अलग ऐप से संबंधित है, तो नेविगेट करने के लिए एक नया कार्य बनाना चाहिए जो आपके ऐप से संबंधित है, जिसके लिए आपको एक नया बैक स्टैक बनाने की आवश्यकता है।


NavUtils शुरू करने के लिए धन्यवाद!
एंटोनैक

10

यदि आपकी गतिविधि गतिविधि का विस्तार करती है

public class YourActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_xxx);

        getActionBar().setHomeButtonEnabled(true);

        [...]
    }

    [...]
}

यदि आपकी कार्रवाई AppCompatActivity का विस्तार करती है

public class YourActivity extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_xxx);

            getSupportActionBar().setHomeButtonEnabled(true);

            [...]
        }

        [...]
    }

ज्यादा कुछ नहीं करना है, देखें क्रिया जोड़ें

[वैकल्पिक] मूल गतिविधि को स्पष्ट रूप से परिभाषित करने के लिए अपने घोषणापत्र को संशोधित करें। इस तरह से करें:

<application ... >
    ...
    <!-- The main/home activity (it has no parent activity) -->
    <activity
        android:name="com.example.myfirstapp.MainActivity" ...>
        ...
    </activity>
    <!-- A child of the main activity -->
    <activity
        android:name="com.example.myfirstapp.YourActivity "
        android:label="@string/title_activity_display_message"
        android:parentActivityName="com.example.myfirstapp.MainActivity" >
        <!-- Parent activity meta-data to support 4.0 and lower -->
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.myfirstapp.MainActivity" />
    </activity>
</application>

पेरेंट गतिविधि निर्दिष्ट करें देखें


1
यह वही है जिसकी मैं तलाश कर रहा था। आपने मेरा दिन बचाया। बहुत बहुत धन्यवाद।
ताशी डेंडुप

6

यदि आपकी गतिविधि फैली हुई है, AppCompatActivityतो आपको इस onSupportNavigateUp()तरह से विधि को ओवरराइड करने की आवश्यकता है :

public class SecondActivity extends AppCompatActivity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_second);
       Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
       setSupportActionBar(toolbar);
       getSupportActionBar().setHomeButtonEnabled(true);
       getSupportActionBar().setDisplayHomeAsUpEnabled(true);
       ...
   }

   @Override
   public void onBackPressed() {
       super.onBackPressed();
       this.finish();
   }

   @Override
   public boolean onSupportNavigateUp() {
       onBackPressed();
       return true;
   }
}

अपनी onBackPressed()विधि में अपने तर्क को संभालें और बस उस विधि onSupportNavigateUp()को फोन पर बैक बटन और टूलबार पर तीर को एक ही काम करें।


6

सबसे पहले onCreate फंक्शन में निम्नलिखित लाइन जोड़ें

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

और फिर कोड में निम्नलिखित फ़ंक्शन जोड़ें:

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                finish();
                return true;
        }

        return super.onOptionsItemSelected(item);
    }

6

सबसे पहले आपको यह कोड लिखना होगा

@Override
    protected void onCreate(Bundle savedInstanceState) {
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

फिर इस लाइन को प्रकट में जोड़ें

 <activity android:name=".MainActivity"
            android:parentActivityName=".PreviousActivity"></activity>

मुझे लगता है यह उचित होगा


5

यदि आप एंड्रॉइड स्टूडियो में 5.1 के लिए नई समर्थन लाइब्रेरी का उपयोग कर रहे हैं, तो आप इसके बजाय अपने AppCompatActivity पर इसका उपयोग कर सकते हैं

 ActionBar actionBar = getSupportActionBar();
 actionBar.setHomeButtonEnabled(true);
 actionBar.setDisplayHomeAsUpEnabled(true);
 actionBar.setHomeAsUpIndicator(R.mipmap.ic_arrow_back_white_24dp);
 actionBar.setDisplayShowHomeEnabled(true);

खुश होती है।


5

Google के रूप में सबसे सरल तरीका और सर्वोत्तम अभ्यास यहाँ बताया गया है :

1. अपने बच्चे के लिए एक माता-पिता जोड़ें AndroidManifest.xml:

<activity 
        android:name=".ChildActivity"
        android:parentActivityName=".ParentActivity" >
</activity>

2. अपने बच्चे में वापस बटन सक्रिय करें:

myActionOrActionSupportBar.setDisplayHomeAsUpEnabled(true);

मेरे लिए काम किया, मुझे आशा है कि यह आपके लिए भी काम करेगा।


यह केवल तभी मान्य है जब गतिविधि में केवल एक मूल गतिविधि हो सकती है। मेरे लिए यही मामला है। +1
MQoder

मेरे मामले में चरण 2 की आवश्यकता नहीं थी।
थोमियो

5

एक गुणवत्ता समय के बाद मैंने पाया है, मेरे विकल्प में विषय विकल्प मुख्य समस्या है और निम्नलिखित मेरे लिए टूलबार दिखाने का उचित तरीका है

AndroidManifest फ़ाइल में पहले आपको अपनी थीम शैली बदलनी होगी

Theme.AppCompat.Light.DarkActionBar
to 
Theme.AppCompat.Light.NoActionBar

फिर आपकी गतिविधि xml पर आपको अपने खुद के टूलबार को कॉल करने की आवश्यकता है

<androidx.appcompat.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary"
        android:id="@+id/toolbar"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:elevation="4dp"/>

और फिर इस टूलबार को आपकी जावा फ़ाइल में कहा जाना चाहिए

Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

और टूलबार के लिए U को NullPointerException से बचने के लिए नल की जांच करनी चाहिए

if(getSupportActionBar() != null){
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

होम गतिविधि के लिए इसे वापस जोड़ें

@Override
public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId()==android.R.id.home) {
            finish();
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

या अपनी इच्छित गतिविधि के लिए वापस

public boolean onOptionsItemSelected(MenuItem item){
    Intent myIntent = new Intent(getApplicationContext(), YourActivity.class);
    startActivityForResult(myIntent, 0);
    return true;
}

3

मैंने इतने अधिक जटिल उत्तर देखे, इसलिए यह मेरा कोड है। यहाँ काम कर रहा है। आप इसे दो तरीकों से हासिल कर सकते हैं।

1) स्टारडार्ड एंड्रॉइड कॉम्पिटिटैलिटी

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.app.NavUtils;

import android.view.MenuItem;
import android.view.View;

public class EditDiscoveryActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_edit_discovery);
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        /*toolbar.setNavigationIcon(R.drawable.ic_arrow_white_24dp);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });*/
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(true);
    }

    @Override
    public boolean onSupportNavigateUp() {
        onBackPressed();
        return true;
    }

}

2) एक कस्टम आइकन का उपयोग करें

यदि आप टिप्पणियों में कोड का उपयोग करना चाहते हैं, तो आपको इस फाइल को drawable में जोड़ना होगा, जिसे ic_arrow_white_24dp.xml कहा जाता है

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">
    <path
        android:fillColor="#ffffff"
        android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
    </vector>

इस कोड के साथ।

toolbar.setNavigationIcon(R.drawable.ic_arrow_white_24dp);
            toolbar.setNavigationOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    finish();
                }
            });

आशा है कि यह यहाँ कुछ लोगों की मदद करेगा!


2

लाइट-वेटेड संस्करण का उपयोग किए बिना ActionBarActivityअभी भी यहाँ वही व्यवहार है:

public class ToolbarConfigurer implements View.OnClickListener {
    private Activity activity;

    public ToolbarConfigurer(Activity activity, Toolbar toolbar, boolean displayHomeAsUpEnabled) {
        toolbar.setTitle((this.activity = activity).getTitle());
        if (!displayHomeAsUpEnabled) return;
        toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
        toolbar.setNavigationOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        NavUtils.navigateUpFromSameTask(activity);
    }
}

उपयोग: रखो new ToolbarConfigurer(this, (Toolbar) findViewById(R.id.my_awesome_toolbar), true);में onCreate


यह नए टूलबार विजेट के साथ फिट बैठता है जो समर्थन पुस्तकालय में शामिल है। धन्यवाद!!
घड़ीसाज

2

आपको प्रकट फ़ाइल में नीचे दिए गए कोड को जोड़ना होगा। उस गतिविधि के लिए खोजें जिसमें आप बैक एरो फ़ंक्शनलिटी जोड़ना चाहते हैं। यदि आप एक पाते हैं तो ठीक है या गतिविधि बनाएं

<activity android:name=".SearchActivity">

</activity>

फिर कोड की निम्नलिखित तीन पंक्तियों को बीच में जोड़ें।

<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.raqib.instadate.MainActivity" />

और onCreate () में कोड के इस टुकड़े को जोड़ना मत भूलना; आपकी विशेष गतिविधि का तरीका जिसमें आपको बैक एरो की आवश्यकता होती है।

        Toolbar toolbar = (Toolbar) findViewById(R.id.searchToolbar);
    setSupportActionBar(toolbar);
    try{
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }catch(NullPointerException e){
       Log.e("SearchActivity Toolbar", "You have got a NULL POINTER EXCEPTION");
    }

इस तरह मैंने इस समस्या को हल किया। धन्यवाद।


2

अन्य उत्तरों में यह उल्लेख नहीं है कि आप इसे अपने Toolbarविजेट के XML में भी सेट कर सकते हैं :

app:navigationIcon="?attr/homeAsUpIndicator"

उदाहरण के लिए:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:navigationIcon="?attr/homeAsUpIndicator"
    app:popupTheme="@style/AppTheme.PopupOverlay"
    app:title="@string/title_activity_acoustic_progress" />

2

आपको 2020 में करने की आवश्यकता है:
(आप मुख्यता पर वापस लौटना चाहते हैं)

protected void onCreate(Bundle savedInstanceState){
    ...
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

public boolean onOptionsItemSelected(MenuItem item) {
    Intent myIntent = new Intent(getApplicationContext(), MainActivity.class);
    startActivityForResult(myIntent, 0);
    return true;
}

यह दिलचस्प है, लेकिन आप यह मान रहे हैं कि हम मुख्यता में वापस आना चाहते हैं। आप किसी भी पिछली गतिविधि को कैसे पुनर्निर्देशित करेंगे?
mayid

1

यदि आप एक ActionBar का उपयोग कर रहे हैं तो आप इस प्रलेखन पर पढ़ना चाहते हैं http://developer.android.com/reference/android/app/ActionBar.html#setDisplayHomeAsUpEnabled(boolean)

फिर आपको ओनओटेशंस इटेम सेलेक्टेड (मेन्यूइटेम) विधि को ओवरराइट करना होगा और आने के लिए android.R.id.home ईवेंट की तलाश करनी होगी। तब आपको पता चलेगा कि उपयोगकर्ता ने एक्शनबार पर उस बैक बटन पर क्लिक किया है।


1

यह ऐप मेनिफ़ेस्ट में पेरेंट एक्टिविटी को निर्दिष्ट करके बिना कोड के भी किया जा सकता है। यदि आप एक्टिविटी बी में बैक बटन चाहते हैं, जो एक्टिविटी ए में होगा, तो एक्टिविटी ए में एक्टिविटी बी के पैरेंट के रूप में ए जोड़ें।



1

मुझे अपने लिए सही उत्तर पाने के लिए कुछ उत्तरों को मिलाने की आवश्यकता थी क्योंकि मेरे ऐप में 3 गतिविधियाँ हैं जो किसी भी समय जा सकती हैं और वापस आ सकती हैं। गतिविधि 1> गतिविधि 2> गतिविधि 3। जब मैं अपनी गतिविधि 3 पर कुछ कर रहा था, तो बैक बटन एक्टिविटी 2 में सही तरीके से बैक हो रहा था। हालाँकि, गतिविधि 2 से, का उपयोग करते हुए finish(), यह गतिविधि 3 पर वापस जा रहा था और गतिविधि 1 से नहीं। और मैं AppCompatActivity का विस्तार कर रहा हूं। तो, मेरा समाधान था:

public class Activity2 extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            ...

            getSupportActionBar().setHomeButtonEnabled(true);
        }
    }

AndroidManifest.xml पर:

<activity android:name=".activities.Activity2"
           android:parentActivityName="com.example.appname.activities.Activity1">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.example.appname.activities.Activity1" />
        </activity>

और अंत में, मेरे मेनू पर कार्रवाई बटन (एक्शनबार):

public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            ...

            case android.R.id.home:
                NavUtils.navigateUpFromSameTask(this);
                return true;

        }

        return super.onOptionsItemSelected(item);

    }

NavUtils.navigateUpFromSameTask(this);इसके बजाय मेरे लिए काम करना , का उपयोग करना finish()


1

बस कुछ साझा करने से मुझे मदद मिली और दूसरों के लिए उपयोगी हो सकती है। यद्यपि यहाँ अधिकांश उत्तर सही हैं, लेकिन इसका उपयोग करके getActionBar().setDisplayHomeAsUpEnabled(true);, यह मेरे लिए काम नहीं कर रहा था। मेरे पास मुद्दा यह था कि मैं मैन्युअल रूप से एक दूसरी गतिविधि बनाने की कोशिश कर रहा था, लेकिन इसमें और विवरण शामिल हैं।
Android डेवलपर्स ट्यूटोरियल ( https://developer.android.com/training/basics/firstapp/starting-activity ) Android Studio के स्वयं के टूल का उपयोग करके दूसरी गतिविधि बनाने के लिए वास्तव में मेरी समस्या का हल क्या था ?

Create the second activity
1. In the Project window, right-click the app folder and select New > Activity > Empty Activity.
2. In the Configure Activity window, enter "DisplayMessageActivity" for Activity Name and click Finish (leave all other properties set to the defaults).
Android Studio automatically does three things:
- Creates the DisplayMessageActivity file.
- Creates the corresponding activity_display_message.xml layout file.
- Adds the required <activity> element in AndroidManifest.xml.

0

तुम भी बस onBackPressed()अपने onClick श्रोता में डाल सकते हैं । यह आपके बटन को एंड्रॉइड ऐप्स में डिफ़ॉल्ट "बैक / अप" बटन की तरह काम करने का कारण बनता है!


0
Toolbar toolbar=findViewById(R.id.toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

if (getSupportActionBar()==null){
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId()==android.R.id.home)
    finish();
return super.onOptionsItemSelected(item);
}

0

यह मेरे लिए काम कर रहा है .. मान लीजिए कि दो गतिविधि हैं (एक्टिविटी, एक्टिविटी)

एक्टिविटीट्वो के अंदर इस कोड का उपयोग करें

@Override
protected void onCreate(Bundle savedInstanceState) {
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

एक्टिविटी पर

//when you need to go second activity
startActivity(new Intent(Activityone.this, Activitytwo.class));

इसे प्रकट फ़ाइल के अंदर दूसरी गतिविधि में शामिल किया जाना चाहिए

<activity android:name=".Activitytwo"
        android:parentActivityName=".Activityone"></activity>

और परिणाम इस तरह होगा

यहां छवि विवरण दर्ज करें


0
  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.YourxmlFileName);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

  public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();

        if (id==android.R.id.home) {
            finish();
            return true;
        }
        return false;
    }

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.