Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我的应用程序在创建setSupportActionBar()方法时崩溃_Android_Crash_Toolbar_Android Appcompat - Fatal编程技术网

Android 我的应用程序在创建setSupportActionBar()方法时崩溃

Android 我的应用程序在创建setSupportActionBar()方法时崩溃,android,crash,toolbar,android-appcompat,Android,Crash,Toolbar,Android Appcompat,我正在尝试在“活动”上创建自定义工具栏,但在启动应用程序时,它崩溃了。我为setSupportActionBar编写的代码如下: Toolbar Toolbar=findviewbyd(R.id.Toolbar) 设置支持操作栏(工具栏) 它要求创建一个setSupportActionBar方法,下面的错误就出来了 D:\AndriodSDK\LcitNewDemo\app\src\main\java\com\lcit\LcitNewDemo\SetActivity.java:23:错误:不兼容

我正在尝试在“活动”上创建自定义工具栏,但在启动应用程序时,它崩溃了。我为setSupportActionBar编写的代码如下:

Toolbar Toolbar=findviewbyd(R.id.Toolbar)

设置支持操作栏(工具栏)

它要求创建一个setSupportActionBar方法,下面的错误就出来了

D:\AndriodSDK\LcitNewDemo\app\src\main\java\com\lcit\LcitNewDemo\SetActivity.java:23:错误:不兼容类型:android.widget.Toolbar无法转换为androidx.appcompat.widget.Toolbar setSupportActionBar(工具栏)

当我尝试创建setSupportActionBar()方法时,它在Logcat中显示了这个错误,我在下面提到过

这是一只Logcat

--------- beginning of crash
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.lcit.lcitnewdemo, PID: 4372
java.lang.RuntimeException: Unable to start activity 
ComponentInfo{com.lcit.lcitnewdemo/com.lcit.lcitnewdemo.SetActivity}: 
java.lang.ClassCastException: androidx.appcompat.widget.Toolbar cannot be cast to 
android.widget.Toolbar
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3356)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3500)
at 
android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks
(TransactionExecutor.java:135)
at 
android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2049)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:223)
    at android.app.ActivityThread.main(ActivityThread.java:7523)
    at java.lang.reflect.Method.invoke(Native Method)
    at 
    com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)
    Caused by: java.lang.ClassCastException: androidx.appcompat.widget.Toolbar cannot 
    be cast to android.widget.Toolbar
    at com.lcit.lcitnewdemo.SetActivity.onCreate(SetActivity.java:22)
    at android.app.Activity.performCreate(Activity.java:7984)
    at android.app.Activity.performCreate(Activity.java:7973)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3329)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3500) 
    at 
    android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.
    java:83) 
    at 
    android.app.servertransaction.TransactionExecutor.executeCallbacks
    (TransactionExecutor.java:135) 
    at android.app.servertransaction.TransactionExecutor.execute
    (TransactionExecutor.java:95) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2049) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loop(Looper.java:223) 
    at android.app.ActivityThread.main(ActivityThread.java:7523) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run
    (RuntimeInit.java:592) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941) 
    I/Process: Sending signal. PID: 4372 SIG: 9

在xml中,如果您使用的是“androidx.appcompat.widget.Toolbar”,则导入

“导入androidx.appcompat.widget.Toolbar”

类似地,如果您使用的是android.support.v7.widget.Toolbar,则在java文件中导入


“导入android.support.v7.widget.Toolbar;”

使用
androidx.appcompat.widget.Toolbar
而不是
android.support.v7.widget.Toolbar
(似乎已弃用且不再受支持):



导入的android.widget.Toolbar更改为androidx.appcompat.widget.Toolbar。您不应该使用android.support.v7.widget.Toolbar。它不再得到支持。坚持使用androidx.appcompat.widget.Toolbar。
<androidx.appcompat.widget.Toolbar
     android:id="@+id/toolbar"
     android:layout_width="match_parent"
     android:layout_height="?attr/actionBarSize"
     />