请人帮我从一个屏幕传递字符串值在黑莓另一个屏幕
Answer 1:
我会说这样做从第一屏幕推第2个屏幕,而不是从应用程序。
在应用程序推第一个画面:
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);
}
}
第二个屏幕有字符串值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);
}
}
在第一个屏幕上创建第二个,设置字符串值,并将它推。 弹出第一个屏幕,如果你不需要IT投资回报:
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);
}
}
}
Answer 2:
我想你可能需要一点点在您所需要的更加清晰。 但是考虑你原来的问题从字面上看,下面的代码位的是你会怎么做。
public class MyApp extends UiApplication {
MyApp() {
MyFirstScreen screenOne = new MyFirstScreen();
pushScreen(screenOne);
String str = screenOne.getWhateverStringINeed();
MySecondScreen screenTwo = new MySecondScreen(str);
pushScreen(screenTwo);
}
}
上面的代码将推动两个屏幕到BlackBerry显示堆,与所述第二屏幕基本上具有与字符串(你发生任何字符串需要),从第一屏幕。
文章来源: How to send String value from one screen to another in Blackberry?