【发布时间】:2019-05-11 17:18:33
【问题描述】:
上周没改代码,昨天突然出现这个问题。
方法如下:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.search_menu, menu);
MenuItem item = menu.findItem(R.id.menu_search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(item);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
});
return super.onCreateOptionsMenu(menu);
}
当我尝试打开包含 SearchView 的活动时,应用程序关闭。 Logcat 说:尝试在空对象引用上调用虚拟方法searchView.setOnQueryTextListener()。
搜索菜单:
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_search"
android:icon="@mipmap/ic_search"
android:title="@string/search"
android:inputType="text"
android:focusableInTouchMode="false"
app:actionViewClass="android.widget.SearchView"
app:showAsAction="ifRoom|collapseActionView" />
</menu>
搜索视图有什么问题?我已经尝试了类似问题中提供的所有方法,但它们不起作用。
活动:
public class CategoryActivity extends Activity {
ArrayList<> mArrayList;
CustomAdapter listAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
mArrayList = new ArrayList<>();
Objects.requireNonNull(getActionBar()).setBackgroundDrawable(new ColorDrawable(Color.rgb(8,16,38)));
Objects.requireNonNull(getActionBar()).setDisplayHomeAsUpEnabled(true);
【问题讨论】:
标签: android nullpointerexception searchview