I have a toolbar in my activity ( import android.support.v7.widget.Toolbar;
) and I'm trying to provide Up navigation using its home button. What I have:
Manifest:
<!-- ... -->
<activity android:name=".SettingsActivity"
android:label="@string/settings"
android:parentActivityName=".MainActivity"/>
<!-- ... -->
view_toolbar.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp">
</android.support.v7.widget.Toolbar>
activity_settings.xml :
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Toolbar -->
<include
layout="@layout/view_toolbar" />
<!-- ... -->
my onCreate method:
super.onCreate(bundle)
setContentView(R.layout.activity_settings);
// Set the toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
So far I shouldn't have an up button and I don't. So we're fine. But when I tried to add it, I couldn't.
First I tried this:
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Didn't work. Then I tried this (as shown here):
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(ToolbarActivity.this, "Up clicked",
Toast.LENGTH_SHORT).show();
NavUtils.navigateUpFromSameTask(ToolbarActivity.this);
}
});
I even tried a workaround I saw somewhere, involving creating a dummy menu and trying to get the event from onOptionsItemSelected
(which is never called by the way).
What can I do? What is the correct way to provide Up navigation through toolbar?
onOptionMenuSelected
neither in Fragment nor in the Activity. – OvercuriousonOptionsItemSelected
?? Anyway.. The main idea is to catch the event fromandroid.R.id.home
button andfinish()
your activity there. Try "Daniel Martin Shum"'s answer below. What he says is right, even though it didn't solve my problem at the time. – Chipper