Blackberry Bitmap fieldChanged抛出IllegalStateException

时间:2012-03-05 11:44:41

标签: blackberry menuitem illegalstateexception

我的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") 
   }
 }  

1 个答案:

答案 0 :(得分:0)

尝试将TabMenu#run()方法更改为以下内容:

public void run() {
    this.button.fieldChangedNotify(this.button.getIndex());
    this.button.setFocus(); 
}