Android - показ вознагражденных видеообъявлений после клика - PullRequest
0 голосов
/ 25 января 2019

У меня есть список товаров на домашней странице, и при нажатии я перейду к деталям активности. До этого я хочу добавить Rewarded Video Ads, но с лимитом после того, как пользователь 3 раза щелкнет по списку товаров, появятся объявления. Какие-нибудь предложения сделать это? или аналогичные функции Shared Preferences возможно?

UPDATE: Я попытался запустить с кодом ниже, но это не учитывает каждый список, который нажал ..

class ViewHolder extends RecyclerView.ViewHolder {
        private TextView tvTitle;
        private LinearLayout rowLayout;

        ViewHolder(View itemView, final Context ctx) {
            super(itemView);
            mContext = ctx;
            tvTitle = itemView.findViewById(R.id.tvTitle);
            rowLayout = itemView.findViewById(R.id.rowLayout);

               itemView.setOnClickListener(new View.OnClickListener() {
               int clickCount = 1;
                    @Override
                    public void onClick(View v){
                        if(clickCount > 3) {

                          if(mRewardedVideoAd.isLoaded()){
                            mRewardedVideoAd.show();
                        }
                            clickCount = 0;
                        } else {

                            clickCount++;
                        Intent intent = new Intent(mContext, DetailsActivity.class);
                        intent.putExtra("title", dataList.get(getAdapterPosition()));
                        intent.putExtra("preview", previewList.get(getAdapterPosition()));
                        ctx.startActivity(intent);

                        }
                    }
                  }
                 }
                });

Оно должно применяться ко всем спискам, на которые были сделаны щелчки, а не только к списку на каждый подсчитанный элемент.

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Обновлено:

itemView.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v){
int clickCount = mPreference.getInt("count",0);
                        if(clickCount > 3) {

                          if(mRewardedVideoAd.isLoaded()){
                            mRewardedVideoAd.show();

                        }
                             mPreference.edit().remove("count").apply();

                        } else {

                            clickCount++;
mPreference.edit().putInt("count",clickCount).apply();
                        Intent intent = new Intent(mContext, DetailsActivity.class);
                        intent.putExtra("title", dataList.get(getAdapterPosition()));
                        intent.putExtra("preview", previewList.get(getAdapterPosition()));
                        ctx.startActivity(intent);

                        }
                    }
                  });

Почему бы вам не использовать пользовательский интерфейс в своем классе ViewHolder вместо этого!

0 голосов
/ 25 января 2019

Попробуйте использовать этот код:

     Button button = findViewById(R.id.button_id);
     int click = 0 ;
     button.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
            if(click > 3){
            //show ads
            }else{
             click++ ;
            }
         PreferenceManager.getDefaultSharedPreferences(MainActivity.this)
        .edit().putString(key, value).apply();

         }
     });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...