任何人请帮我将字符串值从一个屏幕传递到黑莓中的另一个屏幕
问问题
2045 次
2 回答
6
我会说从第一个屏幕而不是从应用程序推送第二个屏幕。
在应用程序推送第一个屏幕:
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);
}
}
}
于 2009-07-15T06:57:55.437 回答
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 显示堆栈上,第二个屏幕本质上具有来自第一个屏幕的字符串(您碰巧需要的任何字符串)。
于 2009-07-14T12:48:45.770 回答