2

我想问一下,如何为 Admob 实现 AdListner。我希望广告在点击后消失。我试过这个,但没有帮助。

final AdView ad1 = (AdView) findViewById(R.id.ad1);
        ad1.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                ad1.setVisibility(View.GONE);
                ad1.destroy();          }
        });

谢谢你。

4

3 回答 3

1

根据您使用的设备,您可能需要使用该视图的 invalidate() 方法。(我会注意到我需要为 2.1 设备上 freewheel 上的一些广告内容执行此操作)。

-- 或者 -- 尝试将您的 ad1 视图放在一个包装视图(LinearLayout 或其他小东西)中,然后将该包装视图的可见性设置为 View.GONE。

于 2012-06-15T20:10:39.360 回答
1

我认为 AdView 是 RelativeLayout 所以你需要

 * ad1.setClickable(true);

或者

 * can  put entry in layout XML `android:clickable="true"`

在此处输入图像描述

于 2012-06-15T21:53:56.730 回答
0

如果有人仍在寻找这个,这是我使用的代码:

public  class myActivity extends Activity implements AdListener{
    /** Called when the activity is first created. */


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);


         AdView adView = (AdView)this.findViewById(R.id.ads2);
         adView.setAdListener(this);
        adView.loadAd(new AdRequest());





    }

    public void onDismissScreen(Ad arg0) {
        RelativeLayout rellayout = (RelativeLayout) findViewById(R.id.rellayout);
        AdView adView = (AdView)this.findViewById(R.id.ads2);
        rellayout.removeView(adView);
    }

    public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
        // TODO Auto-generated method stub

    }

    public void onLeaveApplication(Ad arg0) {
        // TODO Auto-generated method stub

    }

    public void onPresentScreen(Ad arg0) {
        // TODO Auto-generated method stub

    }

    public void onReceiveAd(Ad arg0) {
        // TODO Auto-generated method stub

    }

}
于 2012-06-28T00:43:14.257 回答