错误是:
java.lang.NullPointerException.onCreateOptionsMenu(AddMyMarketsActivity.java:44)
我的代码是:
41 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
42 SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
43 SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
44 searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
Log.i("searchView", "set searchable configuration for searchView ");
我的代码可能有什么问题?
最佳答案
如果您使用 androids 支持库来显示您的操作栏,请确保您在 SearchView 声明中使用正确的 actionViewClass。
应该是 app:actionViewClass="android.support.v7.widget.SearchView"
。
之后,您可以将其用作尝试获取 ActionView 的代码的替代品:
MenuItem searchItem = menu.findItem(R.id.search_view);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
请务必在调用此函数之前调用 getMenuInfalter().inflate(...)。
更多信息:http://developer.android.com/guide/topics/ui/actionbar.html#ActionView
关于android - Android 代码中的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14517551/