Teams Winter 2011/team1/BlackBerry/Implement Delete Option
7. Implement Delete Student option
7.1. In the ViewStudentApp
implement DeleteCommandHandler
by adding anonymous class:
deleteItem.setCommand(new Command(new CommandHandler(){ public void execute(ReadOnlyCommandMetadata metadata, Object context) { Student student = (Student) _keywordFilterField.getSelectedElement(); if (student != null) { String[] selections = {"Yes","Cancel"}; Dialog deleteDialog = new Dialog("Are you sure you want to delete " + student.getName() + "?", selections, null, 0, null); // Display the dialog and deletes the element from the list if(deleteDialog.doModal() == 0) { _studentList.deleteElement(student); Dialog.alert(student.getName() + " has been deleted!"); } } } }));
7.2. Add the deleteElement()
method to the StudentList
class:
void deleteElement(Object element) { doRemove(element); }
7.3. Run the application, select one student and select "Delete Student" from the menu:
7.4. Click "Delete Student". A dialog box pop-ups asking to confirm the student deletion:
7.5. Select "Yes" Option. The dialog window comes up acknowledging that student is deleted:
7.6. Add "Delete Student" as option in view screen. Change the one argument constructor of the anonymous class to two argument constructor:
InfoScreen(final Student student, final StudentList studentList) { }
7.7. Add MenuItem
to this screen menu and implement CommandHandler
:
MenuItem deleteItem = new MenuItem(new StringProvider("Delete Student"), 400, 4); deleteItem.setCommand(new Command(new CommandHandler(){ public void execute(ReadOnlyCommandMetadata metadata, Object context) { if (student != null) { String[] selections = {"Yes","Cancel"}; Dialog deleteDialog = new Dialog("Are you sure you want to delete " + student.getName() + "?", selections, null, 0, null); // Display the dialog and deletes the element from the list if(deleteDialog.doModal() == 0) { studentList.deleteElement(student); Dialog.alert(student.getName() + " has been deleted!"); close(); } } } })); addMenuItem(deleteItem);
7.8. Run the application, select a student and inside the View Screen go to the menu and select "Delete Student":
7.9. Repeat the same steps as for the Main Screen. When you are done you should be redirected to Main Screen.