我在我的应用程序中运行以下代码。执行此代码时,它会显示全局屏幕警报(确定,取消)。
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);
}
});
如果用户点击“确定”,那么我想去其他课程。没什么。这是怎么做到的?如何找出点击了哪个按钮?
答案 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。)