Set up toolbar as actionbar in fragment

Laurenswuyts picture Laurenswuyts · Nov 20, 2014 · Viewed 77.4k times · Source

I want to set up my toolbar as an actionbar, but since your toolbar is a layoutelement it has to be in your layout. Now my layout is in my fragment.

I added the toolbar in my layout and I call it within my fragment:

//Toolbar
Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);

It works because I can set the title and so on but now I want it to react as a actionbar because I want to have this actually. setDisplayHomeAsUpEnabled(true)

To do that I have to change the toolbar to an actionbar:

setSupportActionBar(toolbar);

That doesn't work in my fragment ...

Can anybody help me to get my toolbar to work as an actionbar in a fragment.

Answer

Pratik Butani picture Pratik Butani · Sep 30, 2015

Now ActionBarActivity is deprecated so You need to cast your activity from getActivity() to AppCompatActivity first. Here's an example:

((AppCompatActivity) getActivity()).getSupportActionBar().setSubtitle();

The reason you have to cast it is because getActivity() returns a FragmentActivity and you need an AppCompatActivity