我正在研究ListView
部分,在此,用户可以按名称搜索内容,并通过按键盘按钮直接移动到 List 的第一个元素。就像,如果您从(右侧垂直管理器)按下按钮 B,它将滚动列表并将焦点移动到 B 的第一条记录。
该代码在模拟器中运行良好,但在 Touch 设备上无法运行 - 我有 BB 9380 曲线。
这是代码:
LabelField a = new LabelField("A" , FOCUSABLE)
{
protected void paint(Graphics graphics)
{
graphics.setColor(0xC4C4C4);
super.paint(graphics);
}
protected boolean navigationClick(int status, int time)
{
//fieldChangeNotify(1);
injectKey(Characters.LATIN_CAPITAL_LETTER_A);
injectKey(Characters.LATIN_CAPITAL_LETTER_A);
return true;
}
};
private void injectKey(char key)
{
try
{
searchList.setFocus();
KeyEvent inject = new KeyEvent(KeyEvent.KEY_DOWN, key, 0);
inject.post();
/*inject.post();*/
} catch (Exception e) {
Log.d("In injectKey :: :: :: "+e.toString());
MessageScreen.msgDialog("In Inject Key "+e.toString());
}
}