2

私は最近、テキスト項目を変更するためのコードであるアプリを開発しています:

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

それはうまく機能しますが、メニュー項目をクリックするとエラーで停止します

LogCat

4

1 に答える 1

1

Spannableへの呼び出しの最後の引数としてフラグ定数setSpan()の1 つを使用しSpannable.SPAN_EXCLUSIVE_EXCLUSIVEます。http://developer.android.com/reference/android/text/Spannable.htmlを参照してください。

また、 の後のコードを に移動することを検討しinflateonPrepareOptionsMenu()ください。

次の投稿が役に立つかもしれません: http://www.techrepublic.com/article/style-androids-overflow-menu-using-this-sanity-saving-workaround/

于 2014-02-20T05:31:41.757 に答える