【问题标题】:androidx.appcompat.widget.SearchView cannot be cast to android.widget.SearchViewandroidx.appcompat.widget.SearchView 无法转换为 android.widget.SearchView
【发布时间】:2019-08-13 19:24:29
【问题描述】:
当我启动我的应用程序时,会引发以下错误:
E/AndroidRuntime: 致命异常: main
进程:com.example.app,PID:5513
java.lang.ClassCastException: androidx.appcompat.widget.SearchView 不能转换为 android.widget.SearchView
在 com.example.app.MainActivity.onCreateOptionsMenu(MainActivity.java:169)
我正在尝试在应用栏中使用搜索视图。
【问题讨论】:
标签:
android
material-design
searchview
androidx
【解决方案1】:
该解决方案与this one 非常相似,只是它与Android X 相关。
所以你只需要把import android.widget.SearchView;改成:
import androidx.appcompat.widget.SearchView;
【解决方案2】:
<item android:id="@+id/search"
android:title="@string/search_title"
android:icon="@drawable/ic_search_white_24dp"
app:showAsAction="collapseActionView|ifRoom"
app:actionViewClass="androidx.appcompat.widget.SearchView"/>
最后一行 - 你需要告诉它你使用的是 androidx 版本的 Searchview
【解决方案3】:
<item
android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
app:showAsAction="always"
android:title="Search"
app:actionViewClass="android.widget.SearchView" />
更改您的导入或将您的 actionViewclass 更改为 android.widget.SearchView。
【解决方案4】:
只是改变
app:actionViewClass="android.widget.SearchView"
到
app:actionViewClass="androidx.appcompat.widget.SearchView"