Android 使用AppCompat时是否需要执行API if else检查
以前,我使用的是SherlockActionBar库。以下代码将在Android2.3和Android5之间运行Android 使用AppCompat时是否需要执行API if else检查,android,actionbarsherlock,android-appcompat,Android,Actionbarsherlock,Android Appcompat,以前,我使用的是SherlockActionBar库。以下代码将在Android2.3和Android5之间运行 this.searchMenuItem.collapseActionView(); 但是,在迁移到AppCompat之后,我们需要迁移到以下代码 MenuItemCompat.collapseActionView(JStockFragmentActivity.this.searchMenuItem); 当我查看文档时,它指出 API级别11或更高 通过在相应的 菜单项: menu
this.searchMenuItem.collapseActionView();
但是,在迁移到AppCompat之后,我们需要迁移到以下代码
MenuItemCompat.collapseActionView(JStockFragmentActivity.this.searchMenuItem);
当我查看文档时,它指出
API级别11或更高
通过在相应的
菜单项:
menu.findItem(R.id.action_search).getActionView()
我想知道,我是否需要用以下方式编写迁移的代码
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
this.searchMenuItem.collapseActionView();
} else {
MenuItemCompat.collapseActionView(this.searchMenuItem);
}
这是一个MenuItemCompat函数。它提供向后兼容的功能。您的if语句是不必要的。