Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to display and set click event on Back Arrow on Toolbar?

Back button on toolbar

How can I set back arrow in Android toolbar and also apply click listener?

like image 239
Abhijeet Mallick Avatar asked Mar 05 '16 05:03

Abhijeet Mallick


2 Answers

First make one toolbar.xml

<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:local="http://schemas.android.com/apk/res-auto"     android:id="@+id/toolbar"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:minHeight="?attr/actionBarSize"     android:background="@color/colorPrimary"     local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"     local:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

then include it in activity_main.xml like this way:

<LinearLayout     android:id="@+id/container_toolbar"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:orientation="vertical">      <include         android:id="@+id/toolbar"         layout="@layout/toolbar" />  </LinearLayout> 

then in your MainActivity.java file, put this code:

mToolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); getSupportActionBar().setTitle("MyTitle"); 

To add listener on back press, use following method:

@Override public boolean onOptionsItemSelected(MenuItem item) {     switch (item.getItemId()) {         case android.R.id.home:             // todo: goto back activity from here              Intent intent = new Intent(CurrentActivity.this, MainActivity.class);             intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);             startActivity(intent);             finish();             return true;          default:             return super.onOptionsItemSelected(item);     } } 
like image 87
Pratik Tank Avatar answered Oct 16 '22 23:10

Pratik Tank


Toolbar mToolbar= (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true);     mToolbar.setNavigationOnClickListener(new View.OnClickListener() {     @Override     public void onClick(View v) {         // perform whatever you want on back arrow click      } }); 

// with lamda expression

toolbar.setNavigationOnClickListener(view -> onBackPressed()); 
like image 24
sagar.android Avatar answered Oct 17 '22 00:10

sagar.android