

onOptionsItemSelected内のmenuをクリックした時に、その中のアクションアイテムの色を変える。

例えば以下の画像

![画像の説明をここに入力](https://i.stack.imgur.com/XBGeO.png)

右側に灰色(濃いめ)のアクションアイテムがありますが、クリックされた時に、例えば白にするみたいな事をしたいです。  
また、白の状態の時にクリックすると灰色になるみたいな事をしたいです。

Imageの入れ替えかとは思うのですが、例えば以下のコードのdownloadの色(画像)を変える場合  
onOptionsItemSelected内にどのような記述をすべきでしょうか？

よろしくお願いいたします。

onOptionsItemSelected例

[code]

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
    
            case android.R.id.home:
                finish();
                break;
            case R.id.download:
                finish();
                break;
        }
        return super.onOptionsItemSelected(item);
    }
    
[/code]


CC BY-SA 3.0
2015-03-23T10:37:53.237
8266
2015-07-21T16:52:14.967
8765
question
android
onOptionsItemSelected内のmenuをクリックした時に、その中のアクションアイテムのが画像・色を変えたい


`item.setIcon`でアイコンを変更することができます。  
`ic_download_on`=白ダウンロードアイコン  
`ic_download_off`=灰色ダウンロードアイコン  
`ic_mail_on`=白メールアイコン  
`ic_mail_off`=灰色メールアイコン  
だと思ってください。

[code]

    private boolean mDownloadChecked = false;
    private boolean mMailChecked = false;
    
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                finish();
                break;
            case R.id.download:
                mDownloadChecked = !mDownloadChecked;
                item.setIcon(mDownloadChecked ? R.drawable.ic_download_on : R.drawable.ic_download_off);
                break;
            case R.id.mail:
                mMailChecked = !mMailChecked;
                item.setIcon(mMailChecked ? R.drawable.ic_mail_on : R.drawable.ic_mail_off);
                break;
        }
        return super.onOptionsItemSelected(item);
    }
    
[/code]


CC BY-SA 3.0
2015-03-23T11:15:45.990
8268
2015-03-23T14:31:49.077
2015-03-23T14:31:49.077
8216
8216
8266
answer