Используйте onFocus()
и onUnfocus
, чтобы сохранить фокусировку на HorizontalFieldManager
.и используйте navigationClick()
, чтобы нажать на свой HFM.но убедитесь, что вы хотите установить Field.FOCUSABLE
в вашем HorizontalFieldManager
.
возьмите один boolean
, чтобы проверить состояние фокуса и выполнить код в методе рисования.проверьте ниже код ..
`
boolean _isFocus = false;
HorizontalFieldManager hfm = new HorizontalFieldManager(HorizontalFieldManager.FOCUSABLE | Field.FOCUSABLE)
{
public void onFocus(int direction)
{
_isFocus = true;
super.onFocus(direction);
}
public void onUnfocus()
{
_isFocus = false;
super.onUnfocus();
}
public void paint(Graphics g)
{
if(_isFocus)
{
// replace your bitmap image or bgcolor here
hfm.invalidate();
super.paint(g);
}
else
{
// replace your bitmap image or bgcolor here
hfm.invalidate();
super.paint(g);
}
}
protected boolean navigationClick(int status, int time)
{
Dialog.alert("You are in hfm");
return true;
}
}`
надеюсь, что это работает !!!