Pergunta

Qualquer ajuda por favor me passar String valor de uma tela para outra tela no Blackberry

Foi útil?

Solução

Eu diria para fazer empurrando segunda tela do 1º tela, não a partir da aplicação.
No aplicativo empurrar primeira tela:

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

Em segundo lugar tela tem um setter para o valor string:

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

Em primeiro ecrã criar a segunda, conjunto de valor da cadeia e empurrá-lo. Pop primeira tela se você não precisa voltar nele:

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

Outras dicas

Eu acho que você pode precisar de ser um pouco mais clara no que você precisar. Mas tendo a sua pergunta original, literalmente, o seguinte trecho de código é como você fazê-lo.

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

O código acima iria empurrar duas telas para a pilha de exibição BlackBerry, com a segunda tela, essencialmente, ter a string (qualquer string acontecer de você necessidade), a partir da primeira tela.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top