我不知道为什么我会犯这个错误。我不是在两个不同的工具栏上进行转换
这是我的密码:
androidx.appcompat.widget.Toolbar toolbar = (androidx.appcompat.widget.Toolbar) findViewById(R.id.toolbar_header);
setSupportActionBar(toolbar)
我做错什么了。
这是错误
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.mycontactlist, PID: 12667
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mycontactlist/com.example.mycontactlist.ContactListActivity}: java.lang.ClassCastException: android.widget.Toolbar cannot be cast to androidx.appcompat.widget.Toolbar
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
2条答案
按热度按时间laik7k3q1#
在xml中,您可能只使用
<Toolbar></Toolbar>
在这种情况下,将从包中创建工具栏android.widget
. 所以如果你想打电话findViewById
把它投给androidx.appcompat.widget.Toolbar
它肯定会抛出一个runtimeexception。如果您使用的是androidx,那么您必须将工具栏的xml声明更改为
<androidx.appcompat.widget.Toolbar></androidx.appcompat.widget.Toolbar>
然后您可以继续呼叫您的(androidx.appcompat.widget.Toolbar) findViewByid(..)
哪个应该成功u0njafvf2#
xml文件中定义了错误的工具栏类。把它从
到