2017-05-23 6 views
0

Ich möchte eine admob in meinem RecyclerView platzieren. So füge ich dies in meinem ViewHolder:kann ich admob inside onCreateViewHolder programmatisch hinzufügen?

@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"); 

    } 

Das Problem ist das Banner wird nicht angezeigt. Was vermisse ich?

mein 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> 

Was ist falsch? Warum kann ich keine Anzeigen sehen? irgendwelche Ideen?

Antwort

1

Anstatt die Schaffung Admob Objekt wie folgt:

AdView adView = new AdView(context);

Sie benötigen adview von Viewholder Blick zu finden wie unten:

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); 
Verwandte Themen