Как отправить строковое значение с одного экрана на другой в Blackberry?

StackOverflow https://stackoverflow.com/questions/1123511

  •  13-09-2019
  •  | 
  •  

Вопрос

Кто-нибудь, пожалуйста, помогите мне передать строковое значение с одного экрана на другой экран в Blackberry

Это было полезно?

Решение

Я бы сказал, нажимать 2-й экран с 1-го экрана, а не из приложения.
В приложении нажмите на первый экран:

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

На втором экране есть параметр для строкового значения:

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

На первом экране создайте второй, установите строковое значение и нажмите на него.Всплывающий первый экран, если вам не нужно возвращаться на него:

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

Другие советы

Я думаю, вам, возможно, нужно быть немного более ясным в том, что вам требуется.Но если понимать ваш первоначальный вопрос буквально, то следующий фрагмент кода - это то, как бы вы это сделали.

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

Приведенный выше код поместил бы два экрана в стек BlackBerry display, причем второй экран, по сути, содержал бы строку (любую строку, которая вам понадобится) с первого экрана.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top