Comment gérer ButtonField & BitmapField Cliquez sur (Touche) des événements dans Blackberry Storm?

J'ai créé un ButtonField & un BitmapField comme..

  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...");
    }
   }
}

Mais la ButtonField ou BitmapField cliquez sur n'est pas le cas dans Blackberry 4.7 simulateur.

Je tiens à le construire pour Blackberry Storm donc je m à l'aide de Blackberry 4.7

Comment gérer la souris/les événements tactiles pour ButtonField & BitmapField pour Blackberry Storm?


Je m de la création de la ButtonField & BitmapFields comme

okButtonField = new ButtonField("Ok", BitmapField.HIGHLIGHT_SELECT | BitmapField.FOCUSABLE);

startBitmapField = new BitmapField(startBitmap, BitmapField.HIGHLIGHT_SELECT | BitmapField.FOCUSABLE);

Son travail avec..

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;
 }

mais à chaque fois le même bouton est appelé, qui est d'avoir le focus.

Signifie que si "Ok" est d'avoir le focus alors même si u cliqué sur le bouton "Supprimer" bouton "Ok" est appelé.

Comment fait-on pour changer le focus sur Cliquez sur le Bouton? désigne, selon ButtonField ou BitmapField est cliqué, devrait obtenir le focus?

est il une méthode pour vérifier ".isClicked() comme le bouton.isFocus() " ?

OriginalL'auteur Shreyas | 2009-08-29