によって正しく表示されない確認 たMenuItemのは、私がのMenuItemをこのように定義されている状態は、そのアイコン
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_checked="false"
android:drawable="@drawable/btn_star_off_normal" />
<item
android:state_checked="true"
android:drawable="@drawable/btn_star_on_normal" />
</selector>
私はこれを使用してオプションメニューを作成
、しかし、MenuItem
の
isChecked()
プロパティがtrueであっても、アイコンはチェックされた状態で決して表示されません。
私はActionBarSherlockコントロールを使用していますが、通常のオプションメニューを作成してsetChecked(true)
と呼んでも同じ結果が得られます。チェックされた項目の状態にかかわらず、引き続きbtn_star_off
描画可能を表示します。
onOptionsItemSelected()
メソッドが正常に呼び出されている、と私は成功しcheckedプロパティを変更することができます:ここにブレークポイントを設定する
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.isCheckable()) {
item.setChecked(!item.isChecked());
}
return super.onOptionsItemSelected(item);
}
は変更されるにisCheckedプロパティを示しているが、アイコン自体は正しいを反映するように更新されていません状態。
ここに何か不足していますか?私はこれを間違ってやっていますか?なぜこれが正しく動作しないのかわかりません。
私は同じことが、state_checkedが何らかの理由 – gregm