Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry Bitmap fieldChanged引发非法状态异常_Blackberry_Menuitem_Illegalstateexception - Fatal编程技术网

Blackberry Bitmap fieldChanged引发非法状态异常

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

我在blackberry5应用程序中有一个位图字段,附带了fieldChanged listener,效果非常好 现在我的问题是,我也有一个用于相同目的的关联菜单(我不能删除它的要求),单击菜单我会得到一个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") 
   }
 }  

尝试将
选项卡菜单#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(),会发生什么?