Android 从片段更改ActionBar中一个特定菜单项的TextColor

Android 从片段更改ActionBar中一个特定菜单项的TextColor,android,android-fragments,styles,menuitem,textcolor,Android,Android Fragments,Styles,Menuitem,Textcolor,当某个条件x为真时,我很难从片段内部更改单个菜单项(不是在溢出菜单中,没有图标,只有文本)的文本颜色。我需要能够设置单个项目的样式并在运行时进行更改,或者通过编程方式更改其颜色 @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.menu_fragment_account_edit, menu); ((MultiPanelActi

当某个条件x为真时,我很难从片段内部更改单个菜单项(不是在溢出菜单中,没有图标,只有文本)的文本颜色。我需要能够设置单个项目的样式并在运行时进行更改,或者通过编程方式更改其颜色

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.menu_fragment_account_edit, menu);
    ((MultiPanelActivity) getActivity()).setToolbarBackButtonVisibility(!Globals.isTablet());
    if (mightBeChanges) {
        //TODO implement active state with {android.R.attr.textColorSecondary}
    } else {
        //TODO implement inactive state with {R.attr.colorContrastDark}
    } 
}
如果有人能为我提供一种方法,我会很高兴,让我开始工作。
提前谢谢

您可以在OnPrepareOptions功能表中进行更改。看看它是否有效

@Override
public boolean onPrepareOptionsMenu(final Menu aMenu) {
final MenuItem menuItem = this.menu.findItem(R.id.user_id_label);                               
final TextView textView = (TextView) menuItem.getActionView();
//set color with condition
return super.onPrepareOptionsMenu(aMenu);

}

首先,我必须按照吉塔克里希纳·朱鲁里建议的方式改变“准备”菜单, 但我还必须添加一行,将menuItems标题放入TextView

@Override
    public boolean onPrepareOptionsMenu(final Menu aMenu) {
    final MenuItem menuItem = this.menu.findItem(R.id.user_id_label);                               
    final TextView textView = (TextView) menuItem.getActionView();
    textView.setTextColor(SOME_COLOR);
    textView.setText(menuItem.getTitle);
    return super.onPrepareOptionsMenu(aMenu);
}
在xml中将app:actionViewClass=“android.widget.TextView”添加到menuitem后,我可以使用您的代码,但menuitem不再显示在actionbar中