Обработка нажатия кнопки на MaterialToolbar

Рейтинг: 0Ответов: 1Опубликовано: 07.06.2023

В activity_main.xml следующим образом создаётся MaterialToolbar:

        <com.google.android.material.appbar.MaterialToolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/white"
            app:title="Заголовок"
            app:navigationIcon="@drawable/ic_menu" />

Нужно обрабатывать нажатие кнопки на нём и выполнять код. Я пробовал следующий код:

 val toolbar = findViewById<MaterialToolbar>(R.id.toolbar)
        toolbar.setOnClickListener() {
            // код
        }

Однако с этим кодом при нажатии просто ничего не происходит. Если вместо MaterialToolbar использовать обычную кнопку - код работает.

Ответы

▲ 0

Решение оказалось следующим: MaterialToolbar был заменён на Toolbar следующим образом:

<androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/white"
            app:title="Заголовок"
            app:navigationIcon="@drawable/ic_menu" />

И следующий код для обработки нажатия:

val toolbar = findViewById<Toolbar>(R.id.toolbar)
toolbar.setNavigationOnClickListener {
//код
}