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>
  • 相关阅读:
    iOS 记录近期遇到的几个bug
    iOS转场动画封装
    iOS 页面滑动与标题切换颜色渐变的联动效果
    Realm数据持久化方案的简单介绍和使用(二)
    某互联网科技公司的一道逻辑面试题
    js获取本月,本季度,上个季度,本周,上周的起始和结束时间
    CSS样式说明
    a标签的样式
    CSS3的> 和@
    CSS中的position定位
  • 原文地址:https://www.cnblogs.com/zhangmiao14/p/6044224.html
Copyright © 2011-2022 走看看