blackberry - PopUpScreen 中的问题

标签 blackberry java-me

单击图像时,我弹出一个带有下拉代码的屏幕,我必须在其中选择数据并将其从弹出的位置传递到屏幕,从下拉列表中选择数据后,弹出屏幕应该消失选定的 ocf 值到第一个屏幕。选择后我无法隐藏弹出屏幕,也无法将数据传回第一个屏幕

此代码将调用弹出屏幕

if (field==bitmapField1) {
     UiApplication.getUiApplication().pushScreen(new MyPopup());
}

这是弹出的画面

public class MyPopup extends PopupScreen {
      ObjectChoiceField ocf;

        public MyPopup() {
             super(new VerticalFieldManager(), Field.FOCUSABLE);
            // this listener 'listens' for any event (see at the bottom)
           FieldListener listener = new FieldListener();

         TimeZone[] zone = TimeZoneUtilities.getAvailableTimeZones();
           ocf = new ObjectChoiceField("Set Timezone", zone);
             ocf.setChangeListener(listener);
             add(ocf);
       }

     class FieldListener implements FieldChangeListener {
           public void fieldChanged(Field f, int context) {
                  if (f == ocf) {
                       Object ob = ocf.getChoice(ocf.getSelectedIndex());
                       String str = ob.toString();
                       Dialog.alert(str);
                  }
           }
     }
}

最佳答案

您应该向 PopUpScreen 添加一个属性,该属性引用启动 PopUp 的屏幕。这样,您就可以毫无问题地将参数发送到父屏幕:

public class MyPopup extends PopupScreen {
    ObjectChoiceField ocf;
    MainScreen parentScreen;

    public MyPopup(MainScreen parentScreen) {
            this.parentScreen = parentScreen;
            ...

当您启动 PopUp 时:

if(field==bitmapField1){
    UiApplication.getUiApplication().pushScreen(new MyPopup(this));
}

关于blackberry - PopUpScreen 中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9772934/

相关文章:

BlackBerry:带有图像的按钮,用于正常、聚焦和按下状态

使用 C++ 类的 JAVA JVM 字节码解释器

java - J2me 检测应用程序的首次启动

java - 如何在 Blackberry 中安排特定线程

java - 带有 JavaME 的 org.json 在 toString() 中插入随机数

java - 在Java中调用位图类

blackberry - 预测输入已关闭,但仍然弹出单词建议框

web-services - 构建 BlackBerry 应用程序时出现 "the method is not applicable for the arguments"

blackberry - 如何以编程方式关闭黑莓上的 GPS

java - 使用 Ksoap 解析 Xml