2017-05-23 6 views
0

RecyclerViewにadmobを配置したいと思います。だから、私はViewHolderでこれを追加します。プログラム上でonCreateViewHolderの内部にadmobを追加できますか?

@Override 
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    View v; 
    if (viewType == ad) { 
     ad_act = 1; 
     v = LayoutInflater.from(parent.getContext()) 
       .inflate(R.layout.adview, parent, false); 

     AdView adView = new AdView(context); 
     adView.setAdSize(AdSize.SMART_BANNER); 
     adView.setAdUnitId("ca-app-pub-3940256099942544~3347511713"); 

    } 

問題は、バナーが表示されないです。私は何が欠けていますか?

adview.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <android.support.v7.widget.CardView 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     card_view:cardCornerRadius="0dp" 
     android:id="@+id/ad_view" 
     android:layout_marginBottom="1dp" 
     android:layout_marginEnd="0dp" 
     android:layout_marginLeft="0dp" 
     android:layout_marginRight="0dp" 
     android:layout_marginStart="0dp" 
     android:layout_marginTop="0dp"> 

    <com.google.android.gms.ads.AdView 
     xmlns:ads="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/adView" 
     android:layout_width="match_parent" 
     android:layout_height="70dp" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentBottom="true" 
     ads:adSize="BANNER" 
     ads:adUnitId="ca-app-pub-3940256099942544/6300978111" 
     android:layout_weight="0.33"> 
    </com.google.android.gms.ads.AdView> 

    </android.support.v7.widget.CardView> 

</RelativeLayout> 

何が悪いのでしょうか?広告が表示されないのはなぜですか?何か案は?代わりに以下のようなAdmobのオブジェクトを作成する

答えて

1

AdView adView = new AdView(context);

あなたはViewholderからあなたのadviewを見つける必要があるが、以下のように表示します。

AdView adView = (AdView) v .findViewById(R.id.adView); 
    adView.setAdSize(AdSize.SMART_BANNER); 
      adView.setAdUnitId("ca-app-pub-3940256099942544~3347511713"); 
    // Need to load your Ad using AdRequest.Builder() 
    AdRequest adRequest = new AdRequest.Builder().build(); 
       adView.loadAd(adRequest); 
関連する問題