как обрабатывать кнопки и выпадающие поля с помощью fieldchangelistener - PullRequest
0 голосов
/ 08 марта 2012

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

ButtonField btnSubmit = new ButtonField("Submit!",
ButtonField.CONSUME_CLICK);
         FieldListener listener = new FieldListener();
               //assign that listener to the button
               btnSubmit.setChangeListener(listener);
               add(btnSubmit);

 class FieldListener implements FieldChangeListener {
       public void fieldChanged(Field f, int context){
           //if the submit button is clicked
           if (f == btnSubmit){
                getCalender();
               //if the EditField is empty
               if(editField.getText().equals("")){
                   Dialog.alert("Please enter timezone in the field.");
               }else{ // if it is not empty, display the message
                   Dialog.alert("TimeZone is"+editField.getText()+"!");
                    timeZone = editField.getText();


               }
           }
           if(f == editField) {
               //text changed in the ef-Field (EditField)
           }
       }
   }

как добавить сюда выпадающий список?

1 Ответ

1 голос
/ 09 марта 2012

вот как это сделать ..

Если ваш класс реализует FieldChangeListner, то в его методе fieldChanged сделайте так

public class Demo extends mainScreen implements FieldChangeListener {
public Demo () {
ButtonField btnSubmit = new ButtonField("Submit!",
ButtonField.CONSUME_CLICK);
           //assign that listener to the button
           btnSubmit.setChangeListener(this);
           add(btnSubmit);
}

   public void fieldChanged(Field f, int context) {
       //if the submit button is clicked
       if (f == btnSubmit){
            getCalender();
           //if the EditField is empty
           if(editField.getText().equals("")){
               Dialog.alert("Please enter timezone in the field.");
           }else{ // if it is not empty, display the message
               Dialog.alert("TimeZone is"+editField.getText()+"!");
                timeZone = editField.getText();


           }
       }
       if(f == editField) {
           //text changed in the ef-Field (EditField)
       }
   }
}

это должно работать.

...