I suggest you use this code snippet to use the custom back button on the toolbar:
First step: Add a reverse icon button to the drawing folder.
Second step: add the toolbar to your AppBarLayout as follows:
<android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/chart_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.AppBarLayout>
Third step: in your onCreate find Views:
Toolbar toolbar = (Toolbar) findViewById(R.id.chart_toolbar);
4th step: add a support action bar to the toolbar:
setSupportActionBar(toolbar); if (getSupportActionBar() != null) { getSupportActionBar().setDisplayShowHomeEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); }
Fifth step: Add the desired icon to the button:
toolbar.setNavigationIcon(ContextCompat.getDrawable(getApplicationContext(), R.drawable.ic_chevron_left));
6th step: set the click listening button for the back button:
toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { NavUtils.navigateUpFromSameTask(Chart.this); } });
and finally override oncreateoptionsmenu and onoptionsitemselected methods:
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.my_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { return true; }
source share