GetSupportActionBar(). setTitle() vs 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");

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

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

Ответ 1

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

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

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

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

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

Ответ 2

setSupportActionBar(toolbar);

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