Frage

Wer mir bitte helfen String-Wert von einem Bildschirm zu einem anderen Bildschirm in Blackberry

passieren
War es hilfreich?

Lösung

Ich würde sagen, auf den 2. Bildschirm aus dem ersten Bildschirm zu tun drängen, nicht von der Anwendung.
Im 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 hat einen Setter für String-Wert:

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, Set String-Wert und schieben Sie es. Pop ersten Bildschirm, wenn Sie auf es nicht zurückgeben 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);
        }
    }   
}

Andere Tipps

Ich glaube, Sie müssen ein wenig mehr klar sein, was Sie benötigen. Aber Ihre ursprüngliche Frage wörtlich nehmen, das folgende Stück Code ist, 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 die Blackberry-Display Stapel schieben, mit dem zweiten Bildschirm die Zeichenfolge im Wesentlichen mit (was Zeichenfolge, die Sie brauchen passieren), aus dem ersten Bildschirm.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top