2010-12-02 6 views
0

Ich habe einen Code ähnlich dem folgenden, über die Mapfields diese mIcon mehrmals übermalen. Wie kann ich einen Klick-Listener zu dieser Bitmap hinzufügen? Ich verwende bb 5,0BlackBerry Bitmap Listener

public Bitmap mIcon; 
mIcon = Bitmap.getBitmapResource("pcture1.png"); 

protected void paint(Graphics g) { 


super.paint(g); 
     mDest = new XYRect(....); 
     g.drawBitmap(mDest, mIcon, 0, 0); 
} 

Antwort

2

Aufschalten Bitmap und ändern Sie die isFocusable(), navigationClick(), keyChar() und trackwheelClick() Methoden.

public class ImageButtonField extends BitmapField 
{ 

    public ImageButtonField(Bitmap image) 
    { 
     super(image); 
    } 

    public boolean isFocusable() 
    { 
     return true; 
    } 

    protected boolean navigationClick(int status, int time) 
    { 
    fieldChangeNotify(0); 
    return true; 
    } 

    protected boolean trackwheelClick(int status, int time) 
    { 
    fieldChangeNotify(0); 
    return true; 
    } 

    protected boolean keyChar(char character, int status, int time) 
    { 
     if(Characters.ENTER == character || Characters.SPACE == character) 
     { 
     fieldChangeNotify(0); 
     return true; 
     } 
     return super.keyChar(character, status, time); 
    } 

} 
+0

Hallo, Vielen Dank für Ihre Antwort. Wie kann ich das zu einem MapField hinzufügen? Sollten die Symbole dynamisch hinzugefügt werden, abhängig von der Mitte der Karte, die dem Bildschirm zugeordnet ist? – user528097

+0

Hallo Jonathan, wie können Sie ein Bitmapfeld mit Graphics zeichnen? Ist der Navigationsklick auch für das Tap-Ereignis anwendbar? – sarabogdan