【发布时间】:2013-11-29 15:52:22
【问题描述】:
我正在使用 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;
}
});
}
}
【问题讨论】:
-
我在这里回答了这个问题:stackoverflow.com/a/28762632/1633609
标签: android android-support-library searchview android-actionbar-compat android-actionbaractivity