Сделать кнопку j2me Alert Dismiss невидимой

Есть ли способ не показывать кнопку закрытия по умолчанию, когда я устанавливаю для предупреждения значение НАВСЕГДА?

Я следил за следующим сообщением, но оно показывает кнопку без символов.
http://code-gotcha.blogspot.com/2011/09/dismiss-button-in-nokia-alert.html?showComment=1346738220258#c4876777871081894 >

alert.addCommand(new Command("\u200B", Command.OK, 1));
//we dont like to see the DISMISS command, so adding an invisible command

Я использую формы LWUIT, но только что вызвал собственные предупреждения j2me, чтобы придать приложению собственный внешний вид.


person SoH    schedule 04.09.2012    source источник
comment
нет портативного способа сделать это с помощью MIDP 2 API. Даже если какой-то хак сработает на конкретном устройстве, нет никакой (0%) гарантии, что он сработает на другом. Есть ли причина, по которой вы так привязаны к Alert? из того, что вы описываете, похоже, что Form или Canvas могут выполнять ту же работу и давать вам полный контроль над отображением кнопок в качестве бонуса.   -  person gnat    schedule 04.09.2012
comment
Я использую формы LWUIT, но только что вызвал собственные предупреждения j2me, чтобы придать приложению собственный внешний вид.   -  person SoH    schedule 04.09.2012
comment
то, что вы сделали, в основном смешивает LWUIT и нативный внешний вид, а не делает его действительно нативным, верно?   -  person gnat    schedule 04.09.2012


Ответы (1)


Нет портативного способа сделать это с помощью MIDP 2 API.

Ни Alert или Command имеет какую-либо функцию, которая каким-то образом гарантирует разработчику приложения, что определенные приемы для метки команды сделают ее кнопку невидимой.

Даже если какой-то хак сработает на одном устройстве, нет гарантии, что он сработает и на другом. Это применимо, даже если вы ограничиваете себя только устройствами Nokia - разработчики Nokia MIDP не связаны какой-либо спецификацией, чтобы придерживаться того забавного трюка с "\u200B", который когда-то работал с конкретным устройством, они «имеют право» изменить это в любом другое устройство и даже больше, в любой более новой версии прошивки для этого же устройства.


Что касается придания приложению нативного внешнего вида, если вы этого хотите, я настоятельно рекомендую вам дважды подумать, прежде чем использовать хаки, подобные упомянутому вами, потому что они, скорее всего, могут иметь противоположный эффект.

Только подумайте об этом, пользователи, которые узнают внешний вид Alert как знакомый, скорее всего, привыкли к нему из нескольких других мидлетов. Но дело в том, что большинство этих других мидлетов, скорее всего, используют не взломанные оповещения, которые имеют четко определенное поведение, когда команда отклонения появляется в определенном контексте.

Теперь подумайте, как ваше приложение будет выглядеть по сравнению с этими типичными обычными мидлетами? Да, оповещения будут выглядеть знакомо, но поведение будет различаться. В ситуациях, когда пользователь ожидает, что Alert будет иметь команду отклонения, этого не произойдет. По сути, это королевская дорога, чтобы запутать пользователей и заставить их чувствовать себя плохо из-за неожиданного поведения.

О, это приложение, в котором стандартный экран ведет себя неправильно...

person gnat    schedule 04.09.2012
comment
спасибо ... Я отправил еще один вопрос по этой проблеме. Не могли бы вы сказать мне, возможно ли это? "> stackoverflow.com/questions/12311965/ - person SoH; 07.09.2012