我的菜单项返回NULL的getActionView()我的、菜单项、getActionView、NULL

2023-09-12 21:45:03 作者:掌櫃,我把愛典當給你

我只是想通过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:机器人=htt​​p://schemas.android.com/apk/res/android>

    <项目
          机器人:ID =@ + ID / menu_folder
          机器人:图标=@可绘制/ ic_menu_archive
          机器人:showAsAction =总是/>
< /菜单>
 
怎样找回Word中消失的MathType菜单

解决方案

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.