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;
}
为了向后兼容,你可以使用ActionBarCompat
或ActionBarScherlock
。 在这两种情况下,你可以使用的方法getActionView().
你必须确保进口,在第一种情况是从兼容性库( android.support.v4.view.MenuItemCompat
)。 如果你使用ActionBarSherlock
你要import com.actionbarsherlock.view.MenuItem
。 然后,你应该确定使用item.getActionView()
旧
自2013年8月,和我祈求大家失望投票来看看。 你必须确保OP的问题日期进口,Android在第一种情况介绍的是从兼容性库(ActionBarCompactandroid.support.v4.view.MenuItemCompat)。 即使如果使用ActionBarSherlock仍然是一个有效的选择,一种选择是走向ActionBarCompact。
因此,另一种选择是使用它,当然,所有的importsyou必须从支持库,如android.supportimport com.v4actionbarsherlock.view.MenuItemCompatMenuItem来了。 然后,你应该确定使用item.getActionView()。
您可以使用MenuItemCompat.getActionView(菜单项菜单项)从支持库获得预11 API动作视图。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_activity_actions, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
// Configure the search info and add any event listeners
...
return super.onCreateOptionsMenu(menu);
}
见http://developer.android.com/guide/topics/ui/actionbar.html详细信息