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

时间:2019-08-27 14:59:24

标签: android toolbar android-toolbar android-appcompat androidx

我想在工具栏上有一个后退按钮,但是我被这个错误所困扰:

  

java.lang.ClassCastException:androidx.appcompat.widget.Toolbar无法   投放到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

谢谢

1 个答案:

答案 0 :(得分:0)

您必须导入代码:

import androidx.appcompat.widget.Toolbar;

代替android.widget.Toolbar

还删除演员表:

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