Пример приложения BlackBerry ButtonField - PullRequest
2 голосов
/ 17 ноября 2011

Я очень новичок в применении черных ягод.

сейчас пытаюсь создать калькулятор в blackberry с помощью eclipse:

поэтому я добавил кнопку (ButtonField), моя первая цель - когда я нажимаю эту кнопку, я хочу отобразить

" привет .. теперь вы можете попробовать с текстовым полем. "

здесь я поместил свой код, пожалуйста, пройдите его.

Launcher.java

public class Launcher extends UiApplication {
    public static void main(String[] args) {
        Launcher theApp = new Launcher();
        theApp.enterEventDispatcher();
   }
   private Launcher()
   {
       this.pushScreen(new MainScrn());
   }

}

MainScrn .java

public class MainScrn extends MainScreen implements FieldChangeListener {
    public MainScrn() {
        LabelField lf_hello = new LabelField();
        lf_hello.setText("Hello, World!");
        lf_hello.setBackground(BackgroundFactory.createSolidBackground(124));
        ButtonField mySubmitButton = new ButtonField("clickMe");
        mySubmitButton.setChangeListener(this);
        this.add(lf_hello);
        this.add(mySubmitButton);
    }

    public void fieldChanged(Field field, int context) {
        System.out.println("hi.. now you can try with text field");

    }
}

Привет, что в этом плохого? ? пожалуйста помогите .. это будет довольно просто для вас, но я не сейчас?

Ответы [ 3 ]

2 голосов
/ 17 ноября 2011

В слушателе с измененной областью замените этот код

 public void fieldChanged(Field field, int context) {
        System.out.println("hi.. now you can try with text field");
 }

на

public void fieldChanged(Field field, int context) {
    if(field == mySubmitButton) {
        System.out.println("hi.. now you can try with text field");
    }      
}

Не пишите только то, что вы хотите сделать.Сначала проверьте, является ли это ButtonField, затем напишите код для него.

2 голосов
/ 23 июля 2014

Попробуйте это:

buttons.setChangeListener(new FieldChangeListener()
    {

        public void fieldChanged(Field field, int context)
        {
            System.out.println("hi.. now you can try with text field");
            Dialog.alert("hi.. now you can try with text field");

        }
    });
1 голос
/ 17 ноября 2011

Проверьте это.

public final class MyScreen extends MainScreen implements FieldChangeListener
{
/**
 * Creates a new MyScreen object
 */

LabelField lbl = new LabelField("hi.. now you can try with text field.");
ButtonField bf = new ButtonField("Click Me",ButtonField.CONSUME_CLICK);
public MyScreen()
{        
    // Set the displayed title of the screen       
    setTitle("MyTitle");
    bf.setChangeListener(this);
    add(bf);

}

public void fieldChanged(Field field, int context) {
    // TODO Auto-generated method stub
    if(field == bf)
    {
        add(lbl);
    }
}
}
...