我正在使用 Android 支持库 v4 和 v7,通过 Android Developer page我已经设置了库。
但是我对方法调用感到困惑,例如,方法:
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);
}
那我想知道这个条件判断的目的是什么?
最佳答案
如果您正在使用 ActionBarActivity
或 Sherlock
Activity ,请使用
supportInvalidateOptionsMenu()
关于android - 使用 Android 支持库时的方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19534517/