zoukankan      html  css  js  c++  java
  • Android之debug---menu的getActionView()return null

    MainActivity代码

     1 @Override
     2     public boolean onCreateOptionsMenu(Menu menu) {
     3         // Inflate the menu; this adds items to the action bar if it is present.
     4         getMenuInflater().inflate(R.menu.main, menu);
     5 
     6         // Associate searchable configuration with the SearchView
     7         SearchManager searchManager =
     8                 (SearchManager) getSystemService(Context.SEARCH_SERVICE);
     9         SearchView searchView =
    10                 (SearchView) menu.findItem(R.id.search).getActionView();
    11 
    12 
    13         searchView.setSearchableInfo(
    14                searchManager.getSearchableInfo(getComponentName()));
    15 
    16         return true;
    17     }

    main代码

    1 <menu xmlns:android="http://schemas.android.com/apk/res/android"
    2     xmlns:app="http://schemas.android.com/apk/res-auto">
    3     <item android:id="@+id/search"
    4           android:title="@string/search_title"
    5           android:icon="@drawable/ic_search_api_holo_light"
    6           app:showAsAction="collapseActionView|ifRoom"
    7           android:actionViewClass="android.widget.SearchView" />
    8 </menu>

    错误问题:

    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.SearchView.setSearchableInfo(android.app.SearchableInfo)' on a null object reference
                                                                                               at com.example.android.basiccontactables.MainActivity.onCreateOptionsMenu(MainActivity.java:76)

    错误解决:

    将main代码中的android:actionViewClass="android.widget.Search"修改为app:actionViewClass="android.widget.Search"即可。

    main修改之后如下:

    1 <menu xmlns:android="http://schemas.android.com/apk/res/android"
    2     xmlns:app="http://schemas.android.com/apk/res-auto">
    3     <item android:id="@+id/search"
    4           android:title="@string/search_title"
    5           android:icon="@drawable/ic_search_api_holo_light"
    6           app:showAsAction="collapseActionView|ifRoom"
    7           app:actionViewClass="android.widget.SearchView" />
    8 </menu>
  • 相关阅读:
    win8 tips
    从win10体验到重装win8
    win10 体验 日志
    磁盘分区与多系统安装(windows ubuntu)
    使用ultraISO制作ISO镜像文件
    C++中const用法总结
    4月8号的打卡
    Java第二次作业
    第一次Java作业
    NX二次开发-改变自制UI界面大小
  • 原文地址:https://www.cnblogs.com/zhangmiao14/p/6044224.html
Copyright © 2011-2022 走看看