2009-07-14 122 views

回答

6

我会说从第一个屏幕,而不是从应用程序推动第二个屏幕。
在应用推第一屏幕:

public class App extends UiApplication { 
    public static void main(String[] args) { 
     App app = new App(); 
     app.enterEventDispatcher(); 
    } 
    public App() { 
     FirstScreen scr = new FirstScreen(); 
     pushScreen(scr); 
    } 
} 

第二屏幕具有用于字符串值设定器:

public class SecondScreen extends MainScreen { 

    String mTextValue = null; 
    LabelField mLabel = null; 

    public void setTextValue(String textValue) { 
     mTextValue = textValue; 
     mLabel.setText(mTextValue); 
    } 

    public SecondScreen() { 
     super();   
     mLabel = new LabelField(); 
     add(mLabel); 
    } 
} 

在第一屏幕创建第二,设置字符串值,并将它推。流行第一个屏幕,如果你不需要返回它:

public class FirstScreen extends MainScreen implements FieldChangeListener { 

    BasicEditField mEdit = null; 
    ButtonField mButton = null; 

    public FirstScreen() { 
     super();     
     mEdit = new BasicEditField("input: ", "some text"); 
     add(mEdit); 
     mButton = new ButtonField("Go second screen"); 
     mButton.setChangeListener(this); 
     add(mButton); 
    } 
    public void fieldChanged(Field field, int context) { 
     if(mButton == field) 
     { 
      SecondScreen scr = new SecondScreen(); 
      scr.setTextValue(mEdit.getText()); 
      UiApplication.getUiApplication().pushScreen(scr); 
      UiApplication.getUiApplication().popScreen(this); 
     } 
    } 
} 
+0

好的例子bro +1 – 2012-08-16 07:08:29

2

我认为你可能需要更清楚你需要什么。但从字面上理解你的原始问题,下面的代码是你如何做的。

public class MyApp extends UiApplication { 
    MyApp() { 
    MyFirstScreen screenOne = new MyFirstScreen(); 
    pushScreen(screenOne); 
    String str = screenOne.getWhateverStringINeed(); 
    MySecondScreen screenTwo = new MySecondScreen(str); 
    pushScreen(screenTwo); 
    } 
} 

上面的代码将推动两个屏幕到BlackBerry显示堆,与所述第二屏幕基本上具有与字符串(你发生任何字符串需要),从第一屏幕。

相关问题