如何将焦点转移到Blackberry的下一个组件?

时间:2009-08-19 06:56:01

标签: blackberry

有谁能告诉我如何将焦点移动到屏幕中的下一个组件?

我有一个带有verticalscroll的verticalmanager。该垂直字段管理器由具有大约100行数据的编辑字段组成。在这个垂直的现场经理下面,我有一个按钮。如果我想将焦点移动到该按钮,则意味着我必须通过该编辑字段中的所有这100行。

是否有另一种方法可以通过单击一个按钮直接将焦点传递给按钮?

4 个答案:

答案 0 :(得分:1)

基于Richard's answer和您的评论,我认为在编辑字段中按下ESC键时将焦点设置在提交按钮上的正确方法如下:

public boolean keyChar(char key, int status, int time)
{
  if (key==Characters.ESCAPE)
  {
    submit.setFocus(); 
  }

  return super.keyChar(key, status, time); 
} 

注意: 使用ESCAPE密钥可能不是最佳选择。您可能需要通过检查status参数来检查是否按下了修改键(例如Alt),并在该情况下设置焦点。建议您在使用此代码时使用您的识别功能。

答案 1 :(得分:0)

您必须扩展编辑字段的其中一个容器,处理按键以查找您选择的按键(它必须是编辑字段未使用的按键)。收到时调用按钮上的setFocus()方法。

答案 2 :(得分:0)

您可以使100行文字不可聚焦的字段。当它不可聚焦时,你滚动它,光标应该跳过100行,然后直接到底部的按钮。

答案 3 :(得分:0)

有选项:

  • 如果编辑字段不在编辑模式下,则使用navigationMove(如果dx>某些值)
  • 使用菜单代替按钮
  • 使用热键
  • 在列表中使用分页,因此不会滚动