BlackBerry非UI点击事件监听器

时间:2011-11-02 12:14:52

标签: blackberry blackberry-simulator

我在我的应用程序中运行以下代码。执行此代码时,它会显示全局屏幕警报(确定,取消)。

final Dialog _dialog = new Dialog(Dialog.D_OK_CANCEL, "Message", Dialog.OK, Bitmap.getPredefinedBitmap(Bitmap.EXCLAMATION), Manager.VERTICAL_SCROLL);
Application.getApplication().invokeAndWait(new Runnable() {
    public void run() {
        ui.pushGlobalScreen(_dialog, 0, UiEngine.GLOBAL_QUEUE);
    }
});

如果用户点击“确定”,那么我想去其他课程。没什么。这是怎么做到的?如何找出点击了哪个按钮?

2 个答案:

答案 0 :(得分:1)

实现DialogClosedListener接口并覆盖dialogClosed()方法。

此代码示例将为您提供帮助。

在_dialog.show(0)之后;设置侦听器关闭对话框。

_dialog.setDialogClosedListener(new MyDialogClosedListener());

现在按如下方式制作内部类: -

 public class MyDialogClosedListener implements DialogClosedListener
    {

    public void dialogClosed(Dialog dialog, int choice) 
    {
        if(dialog.equals(_dialog))
        {
            if(choice == -1)
            {

            }
            if(choice == 1)
            {
                your code to implement
            }
            else if(choice == 2)
            {

                your code to implement  
            }

        }


    }

}

答案 1 :(得分:1)

您正在寻找的代码是:

string confirmationDialogMessage = "Are you sure you want to do this?";
if (Dialog.ask(Dialog.D_OK_CANCEL, confirmationDialogMessage) == Dialog.OK) {
  //do something
}
else {
  //do nothing
}

需要创建Dialog的新实例或实施DialogClosedListener界面。

(有关其他信息,请参阅http://www.blackberry.com/developers/docs/4.0.2api/net/rim/device/api/ui/component/Dialog.html。)