Drew Drew - 3 months ago 51
Android Question

Android - Back button in the title bar

In many apps (Calendar, Drive, Play Store) when you tap a button and enter a new activity, the icon in the title bar turns into a back button, but for the app I am making, it doesn't do that. How do I make that icon take you back to the previous screen?

Answer

There are two simple steps to creating a back button in the title bar:

First, make the application icon clickable using the following code in the activity whose title bar you want to have a back button in:

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

After you have added the above code you will see a back arrow appear to the left of the application icon.

Second, after you have done the above you still have to create code that will take advantage of the click event. To do so be aware that when you actually click on the application icon an onOptionsItemSelected method is called. So to go back to the previous activity add that method to your activity and put Intent code in it that will return you to the previous activity. For example let's say the activity you are trying to go back to is called MyActivity. To go back to it write the method as follows:

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

}

That's it!

(In the Android developers API it recommends messing around with the manifest and adding stuff like android:parentActivityName. But that doesn't seem to work for me. The above is simpler and more reliable.)