私は..ButtonFieldとBitmapFieldの処理方法Blackberry Stormの(タッチ)イベントをクリックしますか?
public class MyCanvas extends MainScreen implements FieldChangeListener
{
HorizontalFieldManager hfm;
private Bitmap startBitmap;
private BitmapField startBitmapField;
private ButtonField okButton;
MyCanvas()
{
hfm = new HorizontalFIeldManager();
startBitmap = Bitmap.getBitmapResource("start.png");
startBitmapField = new BitmapField(startBitmap);
startBitmapField.setChangeListener(this);
hfm.add(startBitmapField);
okButton = new ButtonField("Ok", ButtonField.CONSUME_CLICK | ButtonField.NEVER_DIRTY);
okButton.setChangeListener(this);
hfm.add(okButton);
}
public void fieldChanged(Field field, int context)
{
if(field == startBitmapField)
{
System.out.println("Touched START...");
}
else if(field == okButton)
{
System.out.println("Touched Ok...");
}
}
}
ようButtonField & BitmapFieldを作成している。しかしButtonFieldまたはBitmapFieldクリックは、ブラックベリー4.7シミュレータで何が起こっていません。
私はので、私はブラックベリーストームのためにButtonField & BitmapFieldのイベントを触れて/クリックし処理するためにどのようにブラックベリー4.7
を使用してmのブラックベリーストームのためにそれを構築したいですか?
私は..
protected boolean touchEvent(TouchEvent event)
{
switch(event.getEvent() )
{
case TouchEvent.DOWN: ........
return true;
case TouchEvent.MOVE: .......
return true;
case TouchEvent.UP: ........
return true;
case TouchEvent.CLICK:
if(deleteButton.isFocus())
{
System.out.println("Touched DEL ..........");
}
else if(okButton.isFocus())
{
System.out.println("Touched OK ..........");
}
else if(startBitmapField.isFocus())
{
System.out.println("Touched START ..........");
}
return true;
}
return false;
}
が、毎回同じボタンがフォーカスを有するされて呼び出されると協力
okButtonField = new ButtonField("Ok", BitmapField.HIGHLIGHT_SELECT | BitmapField.FOCUSABLE);
startBitmapField = new BitmapField(startBitmap, BitmapField.HIGHLIGHT_SELECT | BitmapField.FOCUSABLE);
そのようButtonField & BitmapFieldsを作成mです。
「削除」ボタンをクリックしても「OK」ボタンがフォーカスされている場合は、「OK」ボタンが呼び出されます。
ボタンクリックのフォーカスを変更するにはどうすればよいですか? ButtonFieldまたはBitmapFieldをクリックしてフォーカスを取得する必要があることを意味しますか?
"button.isFocus()"のように "button.isClicked()"をチェックする方法はありますか?
はい。私は画面にhfmを追加しました。実際には2つのボタンがあります。そのクリックイベントを処理する方法。今、私はbutton.setChangeListener(this)&上記のコードとしてfieldChanged()メソッドをオーバーライドしています。しかし効果はありません。だから2つのボタンのタッチイベントを処理する方法は? bitmapFieldsのurコードを試してみます。 – Shreyas
Shreyas、もう1つのボタンでコードを更新しましたが、まだ動作しています...別のものに依存するのでしょうか?それを確認してください。まだ動作していない場合は、完全なコードを投稿して把握してください。 –
Simulator 4.7.0.41でButtonFieldsとBitmapFieldsに触れることができますか? – Shreyas