android – getSupportActionBar().setTitle() vs toolbar.setTitle()-ThrowExceptions

Exception or error:

I am aware that there are two methods to setting a title in an Android Activity.

Assuming I already have the following code…

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_activity);

    ...

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
    setSupportActionBar(toolbar);

…I can use either this…

getSupportActionBar().setTitle("My title");

…or this…

toolbar.setTitle("My title");

…to set my title.

My question is, which is the better practice?

How to solve:

If you call setSupportActionBar(Toolbar),
then the Action Bar is then responsible for handling the title, therefore you need to call getSupportActionBar().setTitle("My Title"); to set a custom title.

Also check this link where toolbar.setTitle("My title"); may cause problem like below:-
In android app Toolbar.setTitle method has no effect – application name is shown as title

And toolbar is the general form of action bar.

We can have multiple toolbars as layout widget but action is not.

Thus better approach is to use getSupportActionBar().setTitle("My Title");

###

setSupportActionBar(toolbar);

The purpose of this line is to set the passed in toolbar as the activities app bar. So in this way either way is perfectly acceptable; personally as you have already created a toolbar, I would set the title of toolbar before passing it using the above method.

Leave a Reply

Your email address will not be published. Required fields are marked *