2009-07-14 4 views

Antwort

6

Ich würde sagen, den zweiten Bildschirm vom ersten Bildschirm aus zu drücken, nicht von der Anwendung.
In App Push ersten Bildschirm:

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); 
    } 
} 

Zweiter Bildschirm einen Setter für String-Wert hat:

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); 
    } 
} 

Im ersten Bildschirm erstellen zweite, String-Wert gesetzt und es schieben. Pop ersten Bildschirm, wenn Sie nicht darauf zurückkommen müssen:

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

Gutes Beispiel bro +1 –

2

übergeben Ich denke, Sie müssen möglicherweise ein wenig klarer in was Sie benötigen. Aber wenn Sie Ihre ursprüngliche Frage wörtlich nehmen, ist der folgende Code wie Sie es tun würden.

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

Der obige Code würde zwei Bildschirme auf dem Blackberry-Display Stapel schieben, mit dem zweiten Bildschirm die Zeichenfolge im Wesentlichen mit (was Zeichenfolge, die Sie brauchen passieren), aus dem ersten Bildschirm.

Verwandte Themen