web-dev-qa-db-fra.com

getSupportActionBar (). setTitle () vs toolbar.setTitle ()

Je suis conscient que il existe deux méthodes pour définir un titre dans un Android Activity.

En supposant que j'ai déjà le code suivant ...

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

    ...

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

... Je peux utiliser soit ceci ...

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

...ou ca...

toolbar.setTitle("My title");

... pour définir mon titre.

Ma question est, quelle est la meilleure pratique ?

12

Si vous appelez setSupportActionBar(Toolbar), , La barre d’action est alors responsable de la gestion du titre; vous devez donc appeler getSupportActionBar().setTitle("My Title"); pour définir un titre personnalisé.

Vérifiez également ce lien où toolbar.setTitle("My title"); peut être à l'origine du problème ci-dessous: - Dans l'application Android, la méthode Toolbar.setTitle est sans effet - le nom de l'application est indiqué par titre

Et la barre d'outils est la forme générale de la barre d'action. 

Nous pouvons avoir plusieurs barres d’outils comme widgets de mise en page mais l’action ne l’est pas.

Ainsi, une meilleure approche consiste à utiliser getSupportActionBar().setTitle("My Title");

18
Androider
setSupportActionBar(toolbar);

Le but de cette ligne est de définir la barre d’outils passée en tant que barre d’application d’activités. Ainsi, de cette manière, les deux méthodes sont parfaitement acceptables. Personnellement, comme vous avez déjà créé une barre d’outils, je voudrais définir le titre de la barre d’outils avant de le transmettre en utilisant la méthode ci-dessus.

0
Eamon Scullion