如何在Blackberry中将String值从一个屏幕发送到另一个屏幕?

Raj*_*ian 1 architecture blackberry screen

任何人都可以帮我把String值从一个屏幕传递到Blackberry的另一个屏幕

Mak*_*tar 6

我会说要从第一个屏幕推送第二个屏幕,而不是从应用程序.
在app推送第一个屏幕:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

第二个屏幕有一个字符串值的setter:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

在第一个屏幕中创建第二个,设置字符串值并推送它.如果您不需要返回,请弹出第一个屏幕:

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);
        }
    }   
}
Run Code Online (Sandbox Code Playgroud)