getActionView()中引入了用于操作栏的API 11,如果我想向后兼容,getActionView()的替代方法是什么?

例如

public boolean onCreateOptionsMenu(Menu menu) {
   getMenuInflater().inflate(R.menu.action_bar_menu, menu);

   final MenuItem item = menu.findItem(R.id.menuitem);
   item.getActionView() //Works from API level 11

   return true;
}

最佳答案

为了向后兼容,您可以使用ActionBarCompatActionBarScherlock。在这两种情况下,都可以使用getActionView().方法。首先,必须确保从兼容性库(android.support.v4.view.MenuItemCompat)中进行导入。如果
您使用ActionBarSherlock,您必须import com.actionbarsherlock.view.MenuItem。然后,您应该可以使用item.getActionView()了。

老的

自2013年8月起,我祈祷人们投反对票以看看。您必须确保在第一种情况下,Android引入的OP的问题日期来自兼容性库(ActionBarCompactandroid.support.v4.view.MenuItemCompat)。即使使用ActionBarSherlock仍然是有效的选择,一个选项也将朝着ActionBarCompact的方向发展。

因此,另一种选择是使用它,当然,所有导入都必须来自支持库,例如android.supportimport com.v4actionbarsherlock.view.MenuItemCompatMenuItem。然后,使用item.getActionView()应该可以。

09-10 07:07