I have a RecyclerView with following Adapter class. Now I want to implement NativeAdExpressView inside the RecyclerView. Every 11th element of the RecyclerView should be an Ad. Which is the best method to add Ads using the below Adapter class?
public class SearchResultAdapter extends
RecyclerView.Adapter<SearchResultAdapter.MyViewHolder> {
private List<Searchresult> resultList;
private Context context;
public class MyViewHolder extends RecyclerView.ViewHolder {
private TextView name, course, department, bloodgroup;
private ImageView pro_image;
private RelativeLayout relativeLayout;
public MyViewHolder(View view) {
super(view);
name = (TextView) view.findViewById(R.id.name);
course = (TextView) view.findViewById(R.id.course);
department =(TextView)view.findViewById(R.id.department);
bloodgroup = (TextView) view.findViewById(R.id.bloodgroup);
pro_image = (de.hdodenhof.circleimageview.CircleImageView) view.findViewById(R.id.profile_image);
relativeLayout = (RelativeLayout) view.findViewById(R.id.parentLayout);
}
}
public SearchResultAdapter(List<Searchresult> resultList) {
this.resultList = resultList;
}
@Override
public MyViewHolder onCreateViewHolder(final ViewGroup parent, int viewType) {
final View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.search_result_row, parent, false);
context = parent.getContext();
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(final MyViewHolder holder, int position) {
final Searchresult result = resultList.get(position);
holder.name.setText(result.getName());
holder.course.setText(result.getCourse() + ", Semester : " + result.getSemester());
holder.department.setText(result.getDepartment());
holder.bloodgroup.setText(result.getBloodGroup());
String img_url=result.getProImage();
Picasso.with(context).load(img_url).resize(750,750).centerCrop().into(holder.pro_image);
holder.relativeLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//ButtonClickAction
}
});
}
@Override
public int getItemCount() {
return resultList.size();
}
}