Reputation: 157
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
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