Question

Quelqu'un s'il vous plaît aidez-moi à passer la valeur chaîne d'un écran à un autre écran dans Blackberry

Était-ce utile?

La solution

Je dirais à faire pousser 2ème écran à partir du 1er écran, pas de l'application.
En application pousser premier écran:

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

Deuxième écran a un setter pour la valeur de chaîne:

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

Dans l'écran d'abord créer seconde, définir la valeur de la chaîne et le pousser. Pop écran, si vous n'avez pas besoin de revenir là-dessus:

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

Autres conseils

Je pense que vous devrez peut-être un peu plus clair dans ce que vous avez besoin. Mais en prenant votre question initiale littéralement, le bit de code suivant est comment vous le faire.

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

Le code ci-dessus pousserait deux écrans sur la pile d'affichage BlackBerry, le second écran ayant essentiellement la chaîne (quelle que soit la chaîne que vous arrive d'avoir besoin), du premier écran.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top