0

カスタマイズされたボタンとビットマップ フィールドに共通のリスナーを設定しようとしています。リスナーに到達できますが、2 つのフィールドを区別できません。

private class MeaningsDetailsPageListner implements FieldChangeListener{
    public void fieldChanged(Field field, int arg1) {
        Dialog.alert("Hi");
        if(field == bField){
            Dialog.alert("Image Clicked");
        }else if(field == wordBtn){
            Dialog.alert("Button Clicked!!");
        }
    }
}

次のコードの wordBtn はカスタマイズしたボタンで、その他は BitmapField です。Hi アラートが表示されますが、それ以上区別できません。

どんな助けでも大歓迎です。

4

1 に答える 1

0

あなたがやろうとしていることはわかりますがFieldChangeListener、匿名クラスとして各フィールドに個別にを追加することをお勧めします。このようにして、内部の同等性をテストするときに、フィールドを正しいタイプにキャストすることを心配する必要はありませんfieldChanged

ButtonField b = new ButtonField("Hello!");
b.setChangeListener(new FieldChangeListener() {

    public void fieldChanged(Field field, int context) {
        Dialog.alert("Button clicked");
    }
});
于 2012-06-12T13:40:44.140 に答える