it-swarm.com.ru

getSupportActionBar (). setTitle () против toolbar.setTitle ()

Мне известно, что существует два способа установки заголовка в Android Activity.

Предполагая, что у меня уже есть следующий код ...

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

    ...

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

... Я могу использовать либо это ...

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

...или это...

toolbar.setTitle("My title");

... чтобы установить мой титул.

Мой вопрос, что является лучшей практикой ?

12
Farbod Salamat-Zadeh

Если вы вызываете setSupportActionBar(Toolbar), , Тогда Action Bar отвечает за обработку заголовка, поэтому вам нужно вызвать getSupportActionBar().setTitle("My Title");, чтобы установить пользовательский заголовок.

Также проверьте эту ссылку, где toolbar.setTitle("My title"); может вызвать проблему, как показано ниже: - В приложении Android метод Toolbar.setTitle не имеет никакого эффекта - имя приложения отображается в виде заголовка

И панель инструментов - это общая форма панели действий. 

У нас может быть несколько панелей инструментов в качестве виджета макета, но действия нет.

Таким образом, лучший подход заключается в использовании getSupportActionBar().setTitle("My Title");

18
Androider
setSupportActionBar(toolbar);

Цель этой строки - установить переданную панель инструментов в качестве панели приложения действий. Таким образом, в любом случае это вполне приемлемо; лично, как вы уже создали панель инструментов, я бы установил заголовок панели инструментов, прежде чем передавать его, используя вышеуказанный метод.

0
Eamon Scullion