Android Menu: How to dynamically change menu with condition in code -
i'm trying change item in optionmenu, depending on if selected name (from spinner) in activity, tried use invalidateoptionsmenu()
inside spinner.setonitemselectedlistener
, in onprepareoptionsmenu
set condition, error:
"java.lang.classcastexception: com.android.internal.view.menu.actionmenuitemview cannot cast android.view.menuitem"
my code:
public class mainactivity extends activity { private long projectid; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); datasource = new statementdatasource(this); datasource.open(); setcontentview(r.layout.activity_main); //setting spinner simplecursoradapter ... public void onitemselected(adapterview<?> parent, view view, int position, long id){ projectid = id; //trigger optionsmenu recreate invalidateoptionsmenu(); } } @override public boolean onprepareoptionsmenu(menu menu) { private string phonenumber = datasource.getphonenumber(projectid); //checking if selected name has phone number in database if (!phonenumber.isempty()){ //values might null or empty menu.finditem(r.id.callbutton).setvisible(true); } else { menu.finditem(r.id.callbutton).setvisible(false); } return super.onprepareoptionsmenu(menu); }
Comments
Post a Comment