Adyana Permatasari
Adyana Permatasari

Reputation: 157

Change Android Action Bar Menu Item's Icon on Click

I'm using sherlock action bar. I have 2 items on the action bar. When the item is chosen (active), I want to change the icon's image.

This is my code on Java

    @Override
    public boolean onPrepareOptionsMenu (Menu menu){
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.menutes, menu);
    todaySched=menu.findItem(R.id.todaySched);
    if(todaySched.isEnabled()){
        todaySched.setIcon(R.drawable.calendarselected);

    }
    return true;
}

but when I do this the icon become double, and the icon won't change neither. Can someone help?

Upvotes: 2

Views: 8181

Answers (1)

Daveloper87
Daveloper87

Reputation: 716

Use the on onOptionsItemSelected method

@Override
  public boolean onOptionsItemSelected(MenuItem item) {
      switch (item.getItemId()) {
          case R.id.todaySched:

              // put your code here to change the icon
              return true;

          default:
              return super.onOptionsItemSelected(item);
      }
  }

you may need to include the correct namespace for the ActionBar Sherlock library to ensure it Overrides the correct menu item. So the start of the method will look like this:

@Override
  public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item)

Upvotes: 2

Related Questions