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的下一个组件?_Blackberry - Fatal编程技术网

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

如何将焦点转移到Blackberry的下一个组件?,blackberry,Blackberry,有人能告诉我如何将焦点移动到屏幕上的下一个组件吗 我有一个带有verticalscroll的verticalmanager。此垂直字段管理器由一个包含大约100行数据的编辑字段组成。在这个垂直字段管理器下面,我有一个按钮。如果我想把焦点移到那个按钮上,这意味着我必须穿过那个编辑字段中的所有100行 是否有其他方法通过单击单个按钮直接将焦点传递给按钮?您必须扩展编辑字段的一个容器,处理按键以查找您选择的按键(必须是编辑字段未使用的按键)。收到时,调用按钮上的setFocus()方法。您必须扩展编辑

有人能告诉我如何将焦点移动到屏幕上的下一个组件吗

我有一个带有verticalscroll的verticalmanager。此垂直字段管理器由一个包含大约100行数据的编辑字段组成。在这个垂直字段管理器下面,我有一个按钮。如果我想把焦点移到那个按钮上,这意味着我必须穿过那个编辑字段中的所有100行


是否有其他方法通过单击单个按钮直接将焦点传递给按钮?

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

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

可以使包含100行文本的字段不可聚焦。当它不可聚焦时,您在其上滚动,光标应跳过100行,直接转到底部的按钮。

您可以使包含100行文本的字段不可聚焦。当它不可聚焦时,您可以在其上滚动,光标应跳过100行,直接转到底部的按钮。

有以下选项:

  • 如果编辑字段未处于编辑模式,请使用navigationMove(如果dx>某些值)
  • 使用菜单而不是按钮
  • 使用热键
  • 在列表中使用分页,这样就不会滚动
有以下选项:

  • 如果编辑字段未处于编辑模式,请使用navigationMove(如果dx>某些值)
  • 使用菜单而不是按钮
  • 使用热键
  • 在列表中使用分页,这样就不会滚动
根据您的评论,我认为在编辑字段中按下
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),并在这种情况下设置焦点。建议您在使用此代码时使用您的辨别力。

根据您的评论,我认为在编辑字段中按下
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),并在这种情况下设置焦点。建议您在使用此代码时使用您的辨别力。

嗨,richard,谢谢你的想法,但我已经尝试过这个想法。但是当我实现这个想法时,我可以直接切换到button,但是如果我想编辑editfield中的任何内容,那么我就不能这样做。在这里,我输入了代码,我曾经通过按“ESC”键使用swith to button。公共布尔keyChar(char-key,int-status,int-time){if(key==Characters.ESCAPE){submit.setFocus();}返回true;}Hi-richard,谢谢你的想法,但我已经尝试过这个想法。但是当我实现这个想法时,我可以直接切换到button,但是如果我想编辑editfield中的任何内容,那么我就不能这样做。在这里,我输入了代码,我曾经通过按“ESC”键使用swith to button。公共布尔keyChar(char-key,int-status,int-time){if(key==Characters.ESCAPE){submit.setFocus();}返回true;}ESCAPE可能不是最佳选择,因为它还用于关闭屏幕。也许使用状态也可以选择Alt状态。如果代码暗示按钮要提交数据,则有两种解决方案可以使UI更符合标准的blackberry界面语义:1)创建带有提交选项的菜单2)覆盖保存屏幕,将对话框更改为提交(而不是保存)、放弃、取消是,我意识到逃跑可能不是最好的选择。然而,最初的海报在评论中提到,他是为了这个目的而使用ESCAPE的,这就是我这样写的原因。我可以编辑这篇文章来澄清,虽然.ESCAPE可能不是最好的选择,因为它也用于关闭屏幕。也许使用状态也可以选择Alt状态。如果代码暗示按钮要提交数据,则有两种解决方案可以使UI更符合标准的blackberry界面语义:1)创建带有提交选项的菜单2)覆盖保存屏幕,将对话框更改为提交(而不是保存)、放弃、取消是,我意识到逃跑可能不是最好的选择。然而,最初的海报在评论中提到,他是为了这个目的而使用ESCAPE的,这就是我这样写的原因。我可以编辑这篇文章来澄清这一点。