私は私のblackberry5アプリにfieldChangedリスナーが接続されたビットマップフィールドを持っていますが、これはまったく問題なく動作します。今私の問題は、同じ目的のために関連するメニューも持っていることです(私はそれを削除することはできません)。 JVM 104 IllegalStateException
ここに私のメニュークラスがあります
public class TabMenu extends MenuItem{
MainScreen menuScreen;
Field button;
public TabMenu(String menuLabel,MainScreen menuScreen,Field button)
{
super(menuLabel, 1, 0);
this.menuScreen = menuScreen;
this.button = button;
}//end constructor
public void run()
{
FieldChangeListener listener = (FieldChangeListener)this.menuScreen;
listener.fieldChanged(this.button, this.button.getIndex());
this.button.setFocus();
}
}
ここにメニューとフィールドの変更されたコードがあります
protected void makeMenu(Menu menu, int instance) {
menu.add(new RefreshMenu());
menu.addSeparator();
menu.add(new TabMenu("Go >", this, goTab));
menu.addSeparator();
}
public void fieldChanged(Field field, int context) {
if (field == goTab) {
Dialog.alert("goinf")
}
}