2011-10-06 75 views
1

我有3个按钮A,B和C.当我单击A时,页面将重新加载,焦点将位于A上,当我单击B时,页面将重新加载并且焦点将位于B和等等。我如何实现这一点?将黑莓焦点从代码

if(constants.focuz.equals("next")){ 
      next.setFocus(); 
}else if (constants.focuz.equals("prev")){ 
      prev.setFocus(); 
} else{ 
      abtme.setFocus(); 
} 

回答

2

您的代码就可以了。你可能在非UI线程上调用它?如果是,则使用UiApplication.invokeLater(Runnable action)重置焦点。所以它应该是这样的:

UiApplication.getUiApplication.invokeLater(new Runnable() { 
    public void run() { 
     if (constants.focuz.equals("next")) { 
      next.setFocus(); 
     } else if (constants.focuz.equals("prev")) { 
      prev.setFocus(); 
     } else { 
      abtme.setFocus(); 
     } 
    } 
}); 
1

要为您必须使用

setFocus()方法按钮字段设置焦点。

示例代码:

ButtonField lf=new ButtonField("Button"); 

lf.setFocus(); 

希望这将帮助你

+0

我试过了,但它显示非法状态异常。 – Signare

+2

发布您的代码。 – koti

+1

if(constants.focuz.equals(“next”)){next.setFocus();其他如果(constants.focuz.equals(“prev”)){prev.setFocus();}}。 } else { abtme.setFocus(); } – Signare