Domanda

Chiunque ti prego, aiutami a passare il valore della stringa da uno schermo all'altro dello schermo in Blackberry

È stato utile?

Soluzione

Io direi di fare spingendo secondo schermo dalla prima schermata, non dall'applicazione.
In App spingere prima schermata:

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

Secondo schermo ha un setter per il valore stringa:

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

Nella prima schermata creare secondo, impostare il valore di stringa e spingerlo. Pop prima schermata se non c'è bisogno di tornare su di esso:

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

Altri suggerimenti

Credo che potrebbe essere necessario essere un po 'più chiaro in ciò che si richiede. Ma prendere la vostra domanda originale, letteralmente, il seguente frammento di codice è come si dovrebbe fare.

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

Il codice di cui sopra avrebbe spinto due schermi nello stack di visualizzazione BlackBerry, con il secondo schermo essenzialmente avendo la stringa (qualunque stringa vi capita di bisogno), dalla prima schermata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top