Мне удалось поместить баннер в recylerview, но он перекрывает один из элементов, он заменяет один, вместо того, чтобы переходить между ними, кто-нибудь знает, как это исправить?
Я тянуAPI, я не знаю, если это имеет какое-либо значение.Я искал несколько учебных пособий, но не нашел его, и мне нужно добавить собственный баннер admob.
public class HistoricoAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
List<Capitulos> capitulos;
Context context;
private static final int DEFAULT_VIEW_TYPE = 0;
private static final int NATIVE_AD_VIEW_TYPE = 1;
public HistoricoAdapter(List<Capitulos> capitulos, Context context) {
this.capitulos = capitulos;
this.context = context;
}
@Override
public int getItemViewType(int position) {
if (position>1 && position % 3 == 0) {
return NATIVE_AD_VIEW_TYPE;
}
return DEFAULT_VIEW_TYPE;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
LayoutInflater layoutInflater = LayoutInflater.from(context);
switch (viewType) {
default:
view = layoutInflater
.inflate(R.layout.row_historico, parent, false);
return new MyViewHolder(view);
case NATIVE_AD_VIEW_TYPE:
view = layoutInflater.inflate(R.layout.ad_unified, parent, false);
return new NativeAdViewHolder(view);
}
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if (!(holder instanceof MyViewHolder)) {
return;
}
MyViewHolder holder2 = (MyViewHolder) holder;
Capitulos l = capitulos.get(position);
int aInt = Integer.parseInt(l.getTempo());
Calendar cal = Calendar.getInstance(Locale.ENGLISH);
cal.setTimeInMillis(aInt * 1000L);
String dataFormato = android.text.format.DateFormat.format("dd-MM-yyyy HH:mm:ss", cal).toString();
SpannableString ultimoLido = new SpannableString("Último lido: " + l.getCapitulo());
ultimoLido.setSpan(new StyleSpan(Typeface.BOLD), 0, "Último lido: ".length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
SpannableString data = new SpannableString("Data: " + dataFormato);
data.setSpan(new StyleSpan(Typeface.BOLD), 0, "Data: ".length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
holder2.titulo.setText(l.getTitle());
holder2.ultimoLido.setText(ultimoLido);
holder2.data.setText(data);
Picasso.get()
.load("http://unionmangas.site/assets/uploads/mangas/" + l.getCapa())
.into(holder2.capaView);
}
@Override
public int getItemCount() {
return capitulos.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
TextView titulo;
TextView ultimoLido;
TextView data;
ImageView capaView;
public MyViewHolder(View itemView) {
super(itemView);
titulo = itemView.findViewById(R.id.tituloHistoricoViewID);
ultimoLido = itemView.findViewById(R.id.ultimosLidosViewID);
data = itemView.findViewById(R.id.dataViewID);
capaView = itemView.findViewById(R.id.capaHistoricoViewID);
}
}
public class NativeAdViewHolder extends RecyclerView.ViewHolder {
public AdView mAdView;
public NativeAdViewHolder(View view) {
super(view);
mAdView = (AdView) view.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
mAdView.loadAd(adRequest);
}
}}