Как отправить строковое значение с одного экрана на другой в Blackberry?
-
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, причем второй экран, по сути, содержал бы строку (любую строку, которая вам понадобится) с первого экрана.