2012-04-17 74 views
0

我正在与2和第一个触摸屏和其他非触摸工作的TouchEvent()和FieldChange()在黑莓

我已经设计,其具有10个custombuttons加入到VerticalFieldManager 的CustomButtonField类一个屏幕延伸Field类

我已经使用2种方法fieldChange()和的TouchEvent()用于触摸屏的 问题是每当我做的按钮,点击它被正确激活的TouchEvent() 但随后fieldChange()方法也立即调用之后

我该怎么办? 有什么问题?

+0

我对这个概念很熟悉,但我认为onTouchEvent()将在其术语中工作良好,但是当焦点从点击按钮中移出时,它会自动生成一个事件,即FieldChange()。这正是我想要发生的事情。 – Harpreet 2012-04-17 10:43:47

回答

0

查看Paul SylliboyArhimed提供的问题BlackBerry touchEvent outside Field triggers fieldChanged的问题的答案。

在这些答案,有仅更新一个boolean变量,以确定触摸事件发生的方法,以及基于关于fieldChangednavigationClick方法执行的动作的那boolean的值。

BB UI框架调用navigationClick(int status, int time) 自动若存在 protected boolean touchEvent(TouchEvent message)执行后的任何触摸事件。并且 navigationClick(int status, int time)调用方法 fieldChangeNotify(0)这导致fieldChange()(在问题中) 或public void fieldChanged(Field field, int context)被调用。