actionViewClass属性使用

来源:互联网 发布:英文动画下载软件 编辑:程序博客网 时间:2024/06/07 17:50

1.今天在开发的时候遇到了一个问题,menu里面的actionViewClass里面的控件找不到,布局如下:

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    tools:context="com.liluo.epco.UI.activity.SeachTaskActivity">    <item        android:id="@+id/menu_seach"        android:title=""        android:icon="@mipmap/sousuo"        android:actionViewClass="android.widget.SearchView"        app:showAsAction="always" /></menu>

咋一看是没啥问题,当我们在java里面使用时就会报:

 Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'android.view.View android.view.MenuItem.getActionView()' on a null object reference                                                                    at com.liluo.epco.UI.activity.SerachActivity.initView(SerachActivity.java:47)                                                                    at com.liluo.epco.base.BaseActivity.init(BaseActivity.java:135)                                                                    at com.liluo.epco.base.BaseActivity.onCreate(BaseActivity.java:44)                                                                    at android.app.Activity.performCreate(Activity.java:5990)                                                                    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)                                                                     at android.app.ActivityThread.access$800(ActivityThread.java:151)                                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)                                                                     at android.os.Handler.dispatchMessage(Handler.java:102)                                                                     at android.os.Looper.loop(Looper.java:135)                                                                     at android.app.ActivityThread.main(ActivityThread.java:5254)                                                                     at java.lang.reflect.Method.invoke(Native Method)                                                                     at java.lang.reflect.Method.invoke(Method.java:372)

解决方案其实很简单,将android换为app即可

app:actionViewClass="android.widget.SearchView"
原创粉丝点击