我正在尝试将10个dataitem的1个adView添加到gridview中(例如:36个数据项将显示3个adview) .
网格视图:
<GridView
android:id="@+id/gridview_university"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:clickable="false"
android:fastScrollEnabled="false"
android:horizontalSpacing="5dp"
android:padding="8dp"
android:scrollbars="vertical"
android:verticalSpacing="11dp" />
首先尝试使用( uni_listview_ads.xml )文件但不工作并显示(缺少必需的XML属性"adSize")消息
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:layout_marginTop="2dp"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adViewUniver"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
/>
里面 public View getView(int position, View convertView, ViewGroup parent) 方法
View myView = inflater.inflate(R.layout.uni_listview_ads, null);
AdView ads = (AdView) myView.findViewById(R.id.adViewUniver);
ads.setAdSize(AdSize.BANNER);
ads.setAdUnitId(getUnitID());
AdRequest adRequest = new AdRequest.Builder().build();
ads.loadAd(adRequest);
return myView;
在All Attempts失败后,我用代码替换了所有这些
View getAd() {
AdView mAdView;
LinearLayout layout = new LinearLayout(mContext);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setGravity(Gravity.CENTER);
mAdView = new AdView(mContext);
mAdView.setAdSize(AdSize.BANNER);
mAdView.setAdUnitId(getUnitID());
// Create an ad request.
AdRequest adRequestBuilder = new AdRequest.Builder().build();
// Optionally populate the ad request builder.
layout.addView(mAdView);
mAdView.loadAd(adRequestBuilder);
return layout;
}
这里我把这一行放在 public View getView(int position, View convertView, ViewGroup parent) 方法中
return getAd();
结果:
first attempt : show(缺少必需的XML属性"adSize")消息
second attempt : 工作但是当我向下滚动并返回顶部时,adView会消失 .