アプリケーションでスワイプ機能を開発する必要があります。そのために、5つの異なる垂直フィールドマネージャーに5つのビットマップフィールドを追加し、これらの5つの垂直フィールドマネージャーを水平スクロールプロパティを持つ水平フィールドマネージャーに追加してから、タッチイベントを使用してスワイプ機能を実装しようとしました。以下のコードはBlackberry5.0OSデバイスでは機能しますが、Blackberry6.0以降のOSデバイスでは機能しません。
protected boolean touchEvent(TouchEvent message)
{
try{
int x = message.getX(1);
int y = message.getY(1);
int eventCode = message.getEvent();
if(eventCode == TouchEvent.DOWN)
{
Dx=x;
Dy=y;
}
else if(eventCode == TouchEvent.UP)
{
Ux=x;
Uy=y;
disX= Dx-Ux;
disY= Dy-Uy;
if(disX > (Display.getWidth()/3) && this.index<6)
{
if(this.index<5)
this.index++;
vfmImage[this.index].setFocus();
System.out.println("disX :"+disX +" differnt :"+(Display.getWidth()/3)+" Index :"+this.index);
}
else if(disX < Display.getWidth() -(Display.getWidth() + Display.getWidth()/3) && index>0)
{
if(this.index>0)
this.index--;
vfmImage[this.index].setFocus();
System.out.println("disX :"+disX +"differnt :"+(Display.getWidth() -(Display.getWidth() + Display.getWidth()/3))+" Index :"+this.index);
}
else
{
if(index==0)
{
vfmImage[1].setFocus();
}
else
{
vfmImage[this.index-1].setFocus();
}
vfmImage[this.index].setFocus();
}
}
}
catch (Exception e)
{
Dialog.alert("catch");
e.printStackTrace();
}
return super.touchEvent(message);
}
ありがとうDevang