2012-03-08 25 views
0

我想要顯示按鈕並在同一屏幕上下拉,並希望使用fieldChnageListener捕獲它,我無法得到如何將這兩個添加到同一屏幕上。有以下代碼:如何使用fieldchangelistener處理按鈕和下拉字段

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

這裏你怎麼能做到這一點..

如果您的班級正在實施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) 
     } 
    } 
} 

這應該工作。

相關問題