Did you ever had this problem that there is an unexpected 'dismiss' command in nokia alerts while writing a j2me app?
I found this very annoying. I had an app where I wanted to show an infinite progress alert, and I didnt want to have any cancel button there (it was a short save operation).
I tried adding a command with space, empty string to replace the default dismiss command, but did not work. Finally the solution that worked for me was:
- Add a command with string "\u200b" (zero width space)
- add an empty commandlistener
Code snippet:
/** * Creates and returns an Alert with the message. * If noOptionForUser/code> is set as true, * Alert will have it's own CommandHandler to consume all * user events, Alert will have an 'invisible' Command to remove DISMISS_COMMAND * and timeout will be set as Alert.FOREVER. If noOptionForUser/code> is false, * it will just add the gauge with indefinite progress alert. * @param message message to be displayed * @param noOptionForUser if true, user is not given any option to choose. * Alert will have it's own commandHandler to consume all events. * @return an Alert object with an INDEFINITE mode gauge attached to it */ public static Alert getProgressAlert(String message, boolean noOptionForUser) { Alert alert = new Alert(null,message, null, AlertType.INFO); Gauge gauge = new Gauge(null, false, Gauge.INDEFINITE, Gauge.CONTINUOUS_RUNNING); alert.setIndicator(gauge); if(noOptionForUser) { alert.setCommandListener(new CommandListener() { public void commandAction(Command cmd, Displayable disp) { } }); alert.setTimeout(Alert.FOREVER); alert.addCommand(new Command("\u200B", Command.OK, 1));//we dont like to see the DISMISS command, so adding an invisible command } return alert; }
Is it possible to somehow make the button invisible?
ReplyDelete