我正在使用 Android 支持库 v4 和 v7,通过Android 开发人员页面设置了库。
但是我对方法调用感到困惑,例如,方法:
invalidateOptionsMenu();
仅适用于 API 级别 11+,但有一个兼容版本:
ActivityCompat.invalidateOptionsMenu(this);
所以我想知道我是否必须像这样添加两个代码:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
invalidateOptionsMenu();
} else
ActivityCompat.invalidateOptionsMenu(this);
这是必要的还是我只需要兼容的版本?
看来使用兼容版本就足够了。
但是我经常发现这种代码:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
}
那么我想知道这个条件判断的目的是什么?