это должно сработать.Приношу свои извинения любым шведским поварам.
int answer = Dialog.ask("Gersh gurndy morn-dee burn-dee, burn-dee, flip-flip-flip-flip-flip-flip-flip-flip-flip?", new String[] {"Hokey dokey","Bork bork bork"}, new int[] {Dialog.OK,Dialog.CANCEL}, Dialog.CANCEL);
Правки:
The above explained better:
public final static int NEGATIVE = 0;
public final static int AFIRMATIVE = 1;
public final static int DEFAULT = NEGATIVE;
int answer = Dialog.ask("question?", new String[] {"afirmative button label", "negative button label"}, new int[] {AFIRMATIVE,NEGATIVE}, DEFAULT);
Как видно из вышеизложенного, можно изменить все текстовые (языковые) значения в диалоге, просто используя этот метод, поэтому вам не следуетне нужен собственный класс для создания диалога на другом языке.
Еще проще, если вы используете стандартный подход к локализации BB, более простой метод (Dialog.ask (res.getString (SOMEQUESTION)) автоматически настроит свои кнопки «позитив» и «минус» в соответствии с языком, установленным в настройках телефона.Вам нужно будет только добавить вопрос в виде строкового ресурса.
Список допустимых методов и конструкторов можно найти здесь: http://www.blackberry.com/developers/docs/5.0.0api/net/rim/device/api/ui/component/Dialog.html
Дополнительные правки ниже:
Я думал, что мой ответ выше был тем, что вы искали, но если вам нужно дополнительно настроить диалог в новом классе, вы можете сделать это следующим образом:
public class MyDialogScreen extends MainScreen implements LocalResource {
private int exitState;
...
protected void sublayout( int width, int height ) {
setExtent( dialogWidth, dialogHeight );
setPosition( XPOS, YPOS );
layoutDelegate( dialogWidth, dialogHeight );
}
// do some stuff and assign exitState appropriately
// e.g. a button that sets exitState = 1 then pops this screen
// another button that sets exitState = 2 then pops this screen
...
public int getExitState()
{
return this.exitState;
}
В приведенном выше я создал новый экрани я переопределил метод sublayout, чтобы указать настраиваемые ширину, высоту и координаты xy в layoutDelegate. При нажатии на этот экран вы увидите его в виде диалогового окна над предыдущим экраном в стеке в указанных вами позициях XY.
Убедитесь, что вы используете pushModal. Это позволит вам получить доступ к методу getExitState после того, как экран будетru выскочил из стека дисплея.
Например
MyDialogScreen dialog = new MyDialogScreen();
UiApplication.getUiApplication().pushModalScreen(dialog);
int result = dialog.getExitState();
Приветствия
Луч