我正在使用 ActionBarActivity ,如何在 API 级别 8+ 中支持 searchItem.setOnActionExpandListener ?它说为此需要最低 API 级别 14。
下面是我的代码,目前我正在抑制错误并仅在 API 为 >=14 时才允许代码执行。
@SuppressLint("NewApi")
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.action_bar_home_screen, menu);
searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) MenuItemCompat
.getActionView(searchItem);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
searchItem.setOnActionExpandListener(new OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
hideProgressBar();
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
showProgressBar();
selectItem(lastSelectedItemPosition);
return true;
}
});
}
}