位图字段上的click事件给出了异常:manager。替换:newField已经有一个经理

时间:2012-03-26 10:47:25

标签: blackberry blackberry-eclipse-plugin phonegap-plugins

我在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);

3 个答案:

答案 0 :(得分:2)

从替换方法的描述:

  

replace:从此Manager中删除一个字段并将其替换为   另一个领域。指定的oldField必须是此的直接子级   管理员和指定的newField不得由任何人管理   经理,包括这一个。

在这里,您将bitmapField多次替换为其他的一个到同一个Manager:

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

答案 1 :(得分:1)

不要像hfm.replace(bitmapField1,bitmapField6);那样替换你的Horizo​​ntalFieldmanager。只需按照bitmapField1.setBitmap(bitmapField6)重新映射您的图像;为你所有的图像..

它在我的案例中工作

答案 2 :(得分:0)

在替换bitmapField之前,必须先对其进行初始化。