由网友(じ淡若清风づ)分享简介:这是我的code:if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {MenuItem searchItem = menu.findItem(R.id.searchMenuItem);SearchManager searchManager =(Se...
这是我的code:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
MenuItem searchItem = menu.findItem(R.id.searchMenuItem);
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
// searchView.set
searchView.setSearchableInfo(
searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
}
我的最低API是8 我有这样的编译错误
My minimum API is 8. I have this compile error
Call requires API level 11 (current min is 8):
android.widget.SearchView#setSearchableInfo
请注意,我不能改变最小的SDK。
Note, that I can't change the minimum SDK.
推荐答案
您可以使用 android.support.v7.widget.SearchView 的
而不是 android.widget.SearchView 的
您code可能是这样的:
Your code could look like this:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
MenuItem searchItem = menu.findItem(R.id.searchMenuItem);
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
android.support.v7.widget.SearchView searchView = (android.support.v7.widget.SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setSearchableInfo(
searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
}
另外,请仔细阅读 SearchViewCompat
相关推荐
最新文章