2012-03-08 13 views
0

ボタンを表示して同じ画面にドロップし、fieldChnageListenerを使用してキャプチャしたい場合は、両方を同じ画面に追加する方法がありません。次のコードを入力してください:buttonchangingを使ってフィールドを処理する方法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

ここにあなたがこれをどのように行うことができます。..

あなたのクラスは、そのfieldChanged方法で、その後FieldChangeListnerを実装している場合、これは動作するはずです。この

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) 
     } 
    } 
} 

好きです。

関連する問題