2012-03-26 13 views
0

Ich habe 5 Bitmap in HorizontalField, wenn ich auf Bitmap dann Bitmap es zeigt Ausnahme Manager. ersetzen: Newfield hat bereits einen Manager ich diesen Code bin mit:click-Ereignis auf Bitmap-Feld gibt Ausnahme: Manager. Ersetzen: NewField hat bereits einen Manager

hfm = new  HorizontalFieldManager(Field.FIELD_HCENTER|Field.FIELD_VCENTER); 
bitmapField1 = new BitmapField(mImgTable , BitmapField.FOCUSABLE) { 
       protected boolean navigationClick(int status, int time) 
       { try{ 
        //Dialog.alert("image changed"); 
        hfm.replace(bitmapField1, bitmapField6); 
        hfm.replace(bitmapField2, bitmapField); 
        hfm.replace(bitmapField3, bitmapField); 
        hfm.replace(bitmapField4, bitmapField); 
        hfm.replace(bitmapField5, bitmapField); 

       }catch(Exception e){ 
       Dialog.alert("choose only one"+e); 
       } 
        return true; 
       } 
      }; 
     hfm.add(bitmapField1); 
+0

danke im voraus .. – Amar

Antwort

2

Aus Beschreibung Methode ersetzen:

ersetzen: ein Feld von diesem Manager entfernt und ersetzt sie durch ein anderes Feld. Das angegebene oldField muss ein direktes Kind dieses Managers sein, und das angegebene newField darf nicht von einem beliebigen Manager verwaltet werden, einschließlich diesem Manager .

Hier können Sie Bitmap auf andere, die mehr als einmal auf den gleichen Manager ersetzt:

   hfm.replace(bitmapField2, bitmapField); 
       hfm.replace(bitmapField3, bitmapField); 
       hfm.replace(bitmapField4, bitmapField); 
       hfm.replace(bitmapField5, bitmapField); 
1

Dont ersetzen Ihre HorizontalFieldmanager wie die hfm.replace (bitmapField1, bitmapField6) ;. Ersetzen Sie Ihr Bild einfach wie dieses bitmapField1.setBitmap (bitmapField6); für alle Ihre Bilder ..

Sein in meinem Fall arbeiten

0

Bevor Bitmap ersetzen müssen Sie es initialisieren müssen.