我有一个recycler view
,我从api获取数据,现在我需要添加来自广告暴徒的原生广告,但我不知道这将如何工作,我创建一个原生广告添加暴徒和我有钥匙,但我不知道如何,但添加回收器请帮助
这是我的适配器
public class SuggestRecycler_Adapter extends RecyclerView.Adapter<SuggestRecycler_Adapter.Item_Holder> {
private int lastPosition = -1;
int count = 0;
private InterstitialAd mInterstitialAd;
private AdRequest adRequest;
Context context;
List<ResultModel> models;
RecyclerView.ViewHolder viewHolder;
public SuggestRecycler_Adapter(Context context, List<ResultModel> resultModels) {
this.context = context;
this.models = resultModels;
}
@Override
public Item_Holder onCreateViewHolder(ViewGroup parent, int viewType) {
View row = LayoutInflater.from(parent.getContext()).inflate(R.layout.suggest_items, parent, false);
Item_Holder holder = new Item_Holder(row);
return holder;
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onBindViewHolder(Item_Holder holder, final int position) {
holder.setIsRecyclable(false);
holder.textView_name.setText(models.get(position).getName());
isCJK(models.get(position).getName());
Log.d("ARAAAAA", isCJK(models.get(position).getName()));
holder.ISOpen.setText("Opened Now");
Animation animation = AnimationUtils.loadAnimation(context,
R.anim.up_from_bottom);
holder.itemView.startAnimation(animation);
lastPosition = position;
}
@Override
public int getItemCount() {
return models.size();
}
public class Item_Holder extends RecyclerView.ViewHolder {
TextView textView_name, ISOpen;
RatingBar re_star;
ImageView imageView_re, IMAGE_NAV;
public Item_Holder(View itemView) {
super(itemView);
textView_name = (TextView) itemView.findViewById(R.id.textView);
imageView_re = (ImageView) itemView.findViewById(R.id.imageView3);
IMAGE_NAV = (ImageView) itemView.findViewById(R.id.imageView4);
re_star = (RatingBar) itemView.findViewById(R.id.ratingBar);
ISOpen = (TextView) itemView.findViewById(R.id.textView2);
re_star.setLayoutParams(new LinearLayout.LayoutParams(RecyclerView.LayoutParams.WRAP_CONTENT, RecyclerView.LayoutParams.WRAP_CONTENT));
}
}
}
答案 0 :(得分:0)
首先,根据您的要求,决定是否按照here所述使用Native Ads Express或Advanced。对于Native Ads Express,您可能需要阅读用户指南here。
这里有一个关于如何加载NativeExpressAddView的示例:
public class MainActivity extends AppCompatActivity {
private static String LOG_TAG = "EXAMPLE";
NativeExpressAdView mAdView;
VideoController mVideoController;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Locate the NativeExpressAdView.
mAdView = (NativeExpressAdView) findViewById(R.id.adView);
// Set its video options.
mAdView.setVideoOptions(new VideoOptions.Builder()
.setStartMuted(true)
.build());
// The VideoController can be used to get lifecycle events and info about an ad's video
// asset. One will always be returned by getVideoController, even if the ad has no video
// asset.
mVideoController = mAdView.getVideoController();
mVideoController.setVideoLifecycleCallbacks(new VideoController.VideoLifecycleCallbacks() {
@Override
public void onVideoEnd() {
Log.d(LOG_TAG, "Video playback is finished.");
super.onVideoEnd();
}
});
// Set an AdListener for the AdView, so the Activity can take action when an ad has finished
// loading.
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
if (mVideoController.hasVideoContent()) {
Log.d(LOG_TAG, "Received an ad that contains a video asset.");
} else {
Log.d(LOG_TAG, "Received an ad that does not contain a video asset.");
}
}
});
mAdView.loadAd(new AdRequest.Builder().build());
}
}