我只是想通过code来调整的动作条菜单项的查看。
不幸的是,似乎getActionView总是返回空
我的code:
@覆盖
公共布尔onCreateOptionsMenu(功能菜单){
MenuInflater充气= this.getSupportMenuInflater();
inflater.inflate(R.menu.folder,菜单);
返回super.onCreateOptionsMenu(菜单);
}
在prepareOptionsMenu(最后菜单菜单){公共布尔
菜单项menuFolder = menu.findItem(R.id.menu_folder);
Log.i(,*在prepareOptionsMenu *+ menuFolder);
Log.i(,* getActionView *+ menuFolder.getActionView());
日志是:
01-11 22:13:42.884:I /(7893):*在prepareOptionsMenu *com.actionbarsherlock.internal.view.menu.MenuItemWrapper@41401ac8
01-11 22:13:42.884:I /(7893):* getActionView *空
感谢了很多的帮助。
编辑:
< XML版本=1.0编码=UTF-8&GT?;
<菜单的xmlns:机器人=http://schemas.android.com/apk/res/android>
<项目
机器人:ID =@ + ID / menu_folder
机器人:图标=@可绘制/ ic_menu_archive
机器人:showAsAction =总是/>
< /菜单>
解决方案
getActionView()
只能如果有从定制而ActionView setActionView
。
I just would like to tweak the View of an ActionBar MenuItem by code.
Unfortunately, it seems that getActionView always return null!
My code:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = this.getSupportMenuInflater();
inflater.inflate(R.menu.folder, menu);
return super.onCreateOptionsMenu(menu);
}
public boolean onPrepareOptionsMenu(final Menu menu) {
MenuItem menuFolder = menu.findItem(R.id.menu_folder);
Log.i("", "* onPrepareOptionsMenu *" + menuFolder);
Log.i("", "* getActionView *" + menuFolder.getActionView());
Log is:
01-11 22:13:42.884: I/(7893): * onPrepareOptionsMenu *com.actionbarsherlock.internal.view.menu.MenuItemWrapper@41401ac8
01-11 22:13:42.884: I/(7893): * getActionView *null
Thank a lot for any help
Edit:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_folder"
android:icon="@drawable/ic_menu_archive"
android:showAsAction="always"/>
</menu>
解决方案
getActionView()
only works if there's a custom actionView from setActionView
.