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

答えて

2

方法を置き換えるの説明から:

置き換える:このマネージャーからフィールドを削除し、 別のフィールドに置き換えられます。指定されたoldFieldはこの マネージャの直接の子でなければならず、指定されたnewFieldはこれを含む マネージャによって管理されていてはなりません。何度も同じマネージャに複数の他のものにbitmapFieldを代入している。ここ

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

いけないことhfm.replace(bitmapField1、bitmapField6)のようなあなたのHorizo​​ntalFieldmanagerを交換;.そのようなイメージを再現するだけです。bitmapField1.setBitmap(bitmapField6);すべてのあなたのイメージのために私の場合

0

作業..

そのbitmapFieldを交換する前に、あなたはそれを初期化するために持っている必要があります。

関連する問題