如何在工具栏上设置 NavigationIcon("java.lang.ClassCastException" 错误)

How to set NavigationIcon on Toolbar ("java.lang.ClassCastException" error)

我想在我的工具栏上有一个后退按钮,但我遇到了这个错误:

java.lang.ClassCastException: androidx.appcompat.widget.Toolbar cannot be cast to android.widget.Toolbar

这是我的 xml 文件:

    <androidx.appcompat.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/toolbar"
        android:background="@color/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20dp"
            android:text="InstaPF for Instagram"
            android:textColor="@color/Black"
            android:id="@+id/Textbar"/>


    </androidx.appcompat.widget.Toolbar>

代码:

        Toolbar mToolbar = (android.widget.Toolbar) findViewById(R.id.toolbar);

        mToolbar.setNavigationIcon(R.drawable.ic_menu_share);
        mToolbar.setNavigationOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                finish();
            }
        });

有人知道后退按钮的图标吗?我有这套只是为了测试:R.drawable.ic_menu_share.

谢谢

您必须在代码中导入:

import androidx.appcompat.widget.Toolbar;

而不是android.widget.Toolbar

同时移除铸件:

//Toolbar mToolbar = (android.widget.Toolbar) findViewById(R.id.toolbar);
Toolbar mToolbar = findViewById(R.id.toolbar);