2011-08-17 11 views
0

ブラックベリーバナー広告でクリックイベントを追加する方法。これが動作していないブラックベリー広告バナーをクリック

public class DemonstrationScreen extends MainScreen 
{ 
    public DemonstrationScreen() 
    { 
     final Bitmap customPlaceholder = Bitmap.getBitmapResource("arrow.png"); 
     Banner bannerAd = new Banner(add.APID,null,10000, customPlaceholder); 
     bannerAd.setMMASize(Banner.MMA_SIZE_EXTRA_LARGE); 
     VerticalFieldManager vfm = new VerticalFieldManager 
           (VerticalFieldManager.NO_VERTICAL_SCROLL 
           | VerticalFieldManager.NO_VERTICAL_SCROLLBAR 
           | VerticalFieldManager.USE_ALL_WIDTH); 
     HorizontalFieldManager hfm = new HorizontalFieldManager 
           (HorizontalFieldManager.FIELD_HCENTER 
           | HorizontalFieldManager.FIELD_VCENTER); 
     hfm.add(bannerAd); 
     vfm.add(hfm); 
     add(vfm); 

     FieldChangeListener listener=new FieldChangeListener() { 
      public void fieldChanged(Field field, int context) { 

       if(field==bannerAd){ 
        Dialog.alert("Banner clicked"); 
       } 
      }}; 
      bannerAd.setChangeListener(listener); 

    } 
} 


はここに私のコードです。広告をクリックすると、その広告は表示されません。

答えて

1

Bannerの予期せぬ/間違った使用だと思います。

public class DemonstrationScreen extends MainScreen 
{ 
    public DemonstrationScreen() 
    { 
     final Bitmap customPlaceholder = Bitmap.getBitmapResource("arrow.png"); 
     Banner bannerAd = new Banner(add.APID,null,10000, customPlaceholder) { 
      protected boolean navigationClick(int status, int time) { 
       Dialog.alert("Banner clicked"); 
       return super.navigationClick(status, time); 
      } 
     }; 
     bannerAd.setMMASize(Banner.MMA_SIZE_EXTRA_LARGE); 
     VerticalFieldManager vfm = new VerticalFieldManager 
           (VerticalFieldManager.NO_VERTICAL_SCROLL 
           | VerticalFieldManager.NO_VERTICAL_SCROLLBAR 
           | VerticalFieldManager.USE_ALL_WIDTH); 
     HorizontalFieldManager hfm = new HorizontalFieldManager 
           (HorizontalFieldManager.FIELD_HCENTER 
           | HorizontalFieldManager.FIELD_VCENTER); 
     hfm.add(bannerAd); 
     vfm.add(hfm); 
     add(vfm); 
    } 
} 

をしかし、RIMはBannerクラスの決勝を作ったので、あなたがこれを行うことはできません:あなたは、潜在的BannernavigationClick()をオーバーライドすることによってこれを行うことができますしかし

。だから私はあなたの要求は単純な解決策を持っていないと思う。難しい解決策は、 MainScreenレベル( navigationClickMainScreen)にどのフィールドがクリックされたかを把握することです。どのフィールドにフォーカスがあるかチェックして、スムーズに行うことができます。

+0

Banner.iでオーバーライドnavigationClick()を追加することはできません。バナー広告にフォーカスを当てるだけです。 bannerAd.setFocusOverrideFlag(true);動いていない。どのように実装するのですか? – Signare

関連する問題