08-18-2008 04:54 PM
I know this is an old topic, but I have yet to find a solution that works.
I have developed an app that has to run on both trackwheel and trackball devices. Because the trackwheel devices are running OS 4.1, according to RIM I have to use the 4.1 JDE. Unfortunately the trackball isn't supported until the 4.2 JDE.
I've built a screen that extends MainScreen and adds a HorizontalFieldManager, which has a number of VerticalFieldManagers added to it so that I can display a table of data in rows/columns format (basically following the RIM sample on how to display a table of data). To display my data I created an array of LabelFields and use the trackwheelRoll listener and the setFocus() to allow for custom movement when moving horizontall between the VFMs (this avoids moving to the first/last field in the adjacent VFM).
As you would expect, the trackwheelRoll listener doesn't know anything about trackballs and can't handle identifying horizontal movement. Instead, the default RIM code kicks in and moves me automatically to the first/last field of the adjacent VFM. Trackball users a frustrated because the movement between the VFMs is very frustrating to keep track of where you were at prior to the move.
I realize this is difficult to explain and sample code would be rather lengthy, but if necessary I will post some code.
Has anyone figured out any way to support the trackball in the 4.1 JDE environment? RIM suggested to handle the trackball movement when the user clicks the ball/menu key, but this doesn't allow me to move to specific fields within an adjacent VFM that I need.
I've looked at the FlowFieldManager, but I'm not sure it will allow me to move both horizontally and vertically beyond the limits of the viewable screen (by default the FlowFieldManager will only scroll vertically and only build fields horizontally that will fit on the display which is not desired).
Any suggestions/guidance would be greatly appreciated.
Solved! Go to Solution.
08-18-2008 05:08 PM
One option is to create the trackwheel version of your application in the version 4.1 BlackBerry JDE and then use the version 4.2 BlackBerry JDE to take advandtage of the nagivation methods.
This would require the upkeep of two versions of the source for your screen and have users install the appropriate version of the application.
08-18-2008 10:17 PM
Thanks for the reply. Maintaining separate code is where I figured I would end up at, but just wanted to raise the question one last time before I went down that path.