这些天我一直在开发app,用于更改文本项的代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater=getMenuInflater();
inflater.inflate(R.menu.main, menu);
int positionOfMenuItem = 0; // or whatever...
MenuItem item = menu.getItem(positionOfMenuItem);
SpannableString s = new SpannableString("My red MenuItem");
s.setSpan(new ForegroundColorSpan(Color.RED), 0, s.length(), 0);
item.setTitleCondensed(s);
return true;
}
它工作得很漂亮,但当我单击菜单项时,它会停止并显示错误
答案 0 :(得分:1)
使用其中一个Spannable
标志常量作为setSpan()
调用的最后一个参数,例如Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
。请参阅http://developer.android.com/reference/android/text/Spannable.html。
另外,请考虑在inflate
之后将代码移至onPrepareOptionsMenu()
。