Как отображать рекламу AdMob в RecyclerView?

#android #listview #android-recyclerview #admob #android-adapter

Вопрос:

я хочу показывать рекламу AdMob в списке RecyclerView, объявление должно быть загружено после 3 сообщений , и я сделал это успешно, но проблема в том, что при показе объявления сообщение с этим номером скрыто, посмотрите это изображение

введите описание изображения здесь

это сообщение от 6 апреля 2021 года скрыто или скрыто за объявлением.. как я могу показать это сообщение ?

это мой код в адаптере:

      int viewTypeData = 1,viewTypeProgress = 2, AD_TYPE = 0;
    
     if (viewType == AD_TYPE) {
    
                adview = new AdView(mContext);
                adview.setAdSize( AdSize.MEDIUM_RECTANGLE);
    
                adview.setAdUnitId(mContext.getResources().getString(R.string.banner_ad_unit_id));
    
                float density = mContext.getResources().getDisplayMetrics().density;
                int height = Math.round(AdSize.MEDIUM_RECTANGLE.getHeight() * density);
                AbsListView.LayoutParams params = new AbsListView.LayoutParams(AbsListView.LayoutParams.FILL_PARENT, height);
                adview.setLayoutParams(params);
    
    
                AdRequest request = new AdRequest.Builder().build();
                adview.loadAd(request);
                return new Holder (adview);
    
    
            }
            if (viewType == viewTypeData){
                View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.post_list,parent,false);
                return new MyDataHolder(view);
            }else {
                View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_loading,parent,false);
                return new MyProgressHolder(view);
            }
    
    
     @Override
        public int getItemViewType(int position){
            if (position % 4 == 0)
                return AD_TYPE;
            if (dataset.get(position).title.equals("progress"))
                return viewTypeProgress;
            else
                return viewTypeData;
        }

 public class Holder extends RecyclerView.ViewHolder {
        public ProgressBar progressBar;

        public Holder(View itemView) {
            super(itemView);


        }
    }
 

пожалуйста, помогите

Комментарии:

1. То, что вы делаете в getItemViewType (), — это просто заменяете элемент списка, который следует просмотреть, на добавление. Возможно, вам следует переработать свой список в адаптере в список<Объект> и проанализировать через список ввода, добавив 3 из списка ввода в новый список, а затем добавить один и т. Д. Или что-то в этом роде