以下错误阻止应用启动:
E / Android运行时:致命异常:主要 流程:com.example.app,PID:5513 java.lang.ClassCastException:androidx.appcompat.widget.SearchView无法转换为android.widget.SearchView 在com.example.app.MainActivity.onCreateOptionsMenu(MainActivity.java:169) 在android.app.Activity.onCreatePanelMenu(Activity.java:3481) 在androidx.fragment.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:325) 在androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94) 在androidx.appcompat.app.AppCompatDelegateImpl $ AppCompatWindowCallback.onCreatePanelMenu(AppCompatDelegateImpl.java:2820) 在androidx.appcompat.app.AppCompatDelegateImpl.preparePanel(AppCompatDelegateImpl.java:1736) 在androidx.appcompat.app.AppCompatDelegateImpl.doInvalidatePanelMenu(AppCompatDelegateImpl.java:2016) 在androidx.appcompat.app.AppCompatDelegateImpl $ 2.run(AppCompatDelegateImpl.java:253) 在android.os.Handler.handleCallback(Handler.java:873) 在android.os.Handler.dispatchMessage(Handler.java:99) 在android.os.Looper.loop(Looper.java:193) 在android.app.ActivityThread.main(ActivityThread.java:6669) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:493) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
答案 0 :(得分:6)
<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"/>
最后一行-您需要告诉它您使用的是Searchview的androidx版本
答案 1 :(得分:1)
该解决方案与this one非常相似,除了它与Android X相关。
因此,您只需要将import android.widget.SearchView;
更改为:
import androidx.appcompat.widget.SearchView;
答案 2 :(得分:1)
<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。
答案 3 :(得分:0)
只是改变
app:actionViewClass="android.widget.SearchView"
到
app:actionViewClass="androidx.appcompat.widget.SearchView"