【发布时间】:2018-06-03 12:43:41
【问题描述】:
我在尝试将 SearchView 添加到我的 appcompat 活动时遇到 Nullpointerexception。我已经通过 this answer 但无法解决它。
这是我的
menu_main.xml
<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">
<item android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
android:title="Search"
android:iconifiedByDefault="false"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView"/>
onCreateOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.menu_main, menu);
mSearchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
mSearchView.setIconifiedByDefault(true);
我也试过了:
mSearchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
低于异常:
java.lang.NullPointerException:尝试调用虚拟方法 '空白 android.support.v7.widget.SearchView.setIconifiedByDefault(boolean)' 在空对象引用上
【问题讨论】:
-
你也编辑你的 manifest.xml 吗?
-
@ParaskevasNtsounos 我添加了
<intent-filter> <action android:name="android.intent.action.SEARCH" /> </intent-filter> -
@ParaskevasNtsounos 已经检查过..我只使用了 app:actionViewClass
-
检查我的答案
标签: android nullpointerexception android-actionbar searchview appcompatactivity