私はListView
セクションに取り組んでいます。これでは、ユーザーは名前でコンテンツを検索し、キーボード ボタンを押すことで List の最初の要素に直接移動できます。同様に、(右側の垂直マネージャー) からボタン B を押すと、リストがスクロールされ、フォーカスが B の最初のレコードに移動します。
コードはシミュレーターでは正常に動作していますが、タッチ デバイスでは動作していません - 私は BB 9380 Curve を持っています。
のコードは次のとおりです。
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());
}
}