Pregunta

Alguien por favor me ayude a pasar valor de cadena de una pantalla a otra pantalla en la zarzamora

¿Fue útil?

Solución

Yo diría que hacer empujando segunda pantalla de la primera pantalla, no desde la aplicación.
En aplicación empujar primera pantalla:

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

Segunda pantalla tiene un regulador de valor de cadena:

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

En la primera pantalla de crear valor de cadena en segundo lugar, establecer y empujarlo. Pop primera pantalla si no es necesario volver sobre ella:

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

Otros consejos

Creo que es posible que tenga que ser un poco más claro en lo que usted requiere. Pero teniendo su pregunta original, literalmente, el siguiente fragmento de código es la forma en que lo haría.

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

El código anterior podría empujar dos pantallas en la pila de visualización de BlackBerry, con la segunda pantalla que tiene esencialmente la cadena (cualquier cadena en que necesite), desde la primera pantalla.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top