Blackberry Bitmap fieldChanged引发非法状态异常
我在blackberry5应用程序中有一个位图字段,附带了fieldChanged listener,效果非常好 现在我的问题是,我也有一个用于相同目的的关联菜单(我不能删除它的要求),单击菜单我会得到一个JVM 104 IllegalStateException 这是我的菜单课Blackberry Bitmap fieldChanged引发非法状态异常,blackberry,menuitem,illegalstateexception,Blackberry,Menuitem,Illegalstateexception,我在blackberry5应用程序中有一个位图字段,附带了fieldChanged listener,效果非常好 现在我的问题是,我也有一个用于相同目的的关联菜单(我不能删除它的要求),单击菜单我会得到一个JVM 104 IllegalStateException 这是我的菜单课 public class TabMenu extends MenuItem{ MainScreen menuScreen; Field button; public TabMenu(Strin
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")
}
}
尝试将
选项卡菜单#run()
方法更改为以下内容:
public void run() {
this.button.fieldChangedNotify(this.button.getIndex());
this.button.setFocus();
}
请提供任何建议、提示或注释,并且字段内的代码已更改(字段,上下文)受保护的void makeMenu(Menu-Menu,int-instance){Menu.add(new-RefreshMenu());Menu.addSeparator();Menu.addSeparator();}公共void字段已更改(字段,int-Context){if(Field==goTab){Dialog.alert(“goinf”)}很难说那里发生了什么,但是为什么不编写代码,使按钮pers和菜单选择最终调用相同的方法,而不是试图假装用户界面在选择菜单时按下了按钮?如果注释setFocus(),会发生什么?