i've set oncontextitemselected show alert when user tries delete item , asks them confirmation. problem being "confirmationreceived" variable getting set true first time code executed nothing else happening, when it's executed second time item deleted before user has chance confirm want deleted.
oncreatecontextmenu
@override public void oncreatecontextmenu(contextmenu menu, view v, contextmenu.contextmenuinfo menuinfo) { super.oncreatecontextmenu(menu, v, menuinfo); menu.setheadertitle("timetable item"); menu.add(0, remove_item, menu.none, r.string.remove_item); }
oncontextitemselected
@override public boolean oncontextitemselected(menuitem item) { super.oncontextitemselected(item); alertdialog diabox = askremoveconfirm(); diabox.show(); switch (item.getitemid()) { case (remove_item): { if(confirmationreceived == true) { adapterview.adaptercontextmenuinfo menuinfo; menuinfo = (adapterview.adaptercontextmenuinfo) item.getmenuinfo(); int index = menuinfo.position; removeitem(index); confirmationreceived = false; return true; } } } return false; }
askremoveconfirm()
private alertdialog askremoveconfirm() { alertdialog myremovaldialogbox =new alertdialog.builder(this) .settitle("confirmation") .setmessage("are sure want delete entry?") .setpositivebutton("delete", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int whichbutton) { confirmationreceived = true; dialog.dismiss(); } }) .setnegativebutton("cancel", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int which) { dialog.dismiss(); } }) .create(); return myremovaldialogbox; }
do somthing this
private alertdialog askremoveconfirm() { alertdialog myremovaldialogbox =new alertdialog.builder(this) .settitle("confirmation") .setmessage("are sure want delete entry?") .setpositivebutton("delete", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int whichbutton) { confirmationreceived = true; if(confirmationreceived == true) { adapterview.adaptercontextmenuinfo menuinfo; menuinfo = (adapterview.adaptercontextmenuinfo)item.getmenuinfo(); int index = menuinfo.position; removeitem(index); confirmationreceived = false; return true; } dialog.dismiss(); } }) .setnegativebutton("cancel", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int which) { dialog.dismiss(); } }) .create(); return myremovaldialogbox; }
Comments
Post a Comment