什么是Android API level11前的替代getActionView()?(What is

2019-08-18 01:21发布

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;
}

Answer 1:

为了向后兼容,你可以使用ActionBarCompatActionBarScherlock 。 在这两种情况下,你可以使用的方法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()。



Answer 2:

您可以使用MenuItemCompat.getActionView(菜单项菜单项)从支持库获得预11 API动作视图。



Answer 3:

@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详细信息



文章来源: What is the alternative to getActionView() before API level11 in android?