2012-03-26 26 views
0

我有horizo​​ntalField 5位圖,當我點擊位圖,然後位圖它顯示異常 經理。替換:新野已經有一個經理 我正在使用此代碼:位圖字段上的單擊事件給出異常:管理器。替換:newField已經有一個管理器

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

在此先感謝.. – Amar 2012-03-26 10:50:08

回答

2

從替代方法的描述:

替代:從這個管理器中刪除一個字段並用 另一場替換它。指定的oldField必須是此管理器的直接子項,並且指定的newField不得由任何 管理器(包括此管理器)管理。

這裏你代bitmapField到其他的不止一次同經理:

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

不要更換您Horizo​​ntalFieldmanager像hfm.replace(bitmapField1,bitmapField6);.只需像bitmapField1.setBitmap(bitmapField6)一樣重新顯示圖像;您的所有圖片..

它在我的情況

0

工作更換bitmapField之前,你必須將其初始化。