كيفية إرسال قيمة سلسلة من شاشة واحدة إلى أخرى في بلاك بيري ؟

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

  •  13-09-2019
  •  | 
  •  

سؤال

أي شخص الرجاء مساعدتي لتمرير سلسلة القيمة من شاشة واحدة إلى أخرى على الشاشة في البلاك بيري

هل كانت مفيدة؟

المحلول

أود أن أقول أن تفعل دفع 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، مع وجود الشاشة الثانية أساسا بالسلسلة (مهما كانت السلسلة التي تحدث تحتاجها)، من الشاشة الأولى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top