Показывать промежуточные объявления после клика - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть пользовательский RecyclerView со многими Intent с, которые go с новым Activity в Fragment. Когда пользователь щелкает элемент на RecyclerView, я хочу отобразить промежуточную рекламу до появления нового действия.

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyHolder> {

    private Context mContext;
    private List<Recipes> mData;
    private InterstitialAd mInterstitialdAd;
    RecyclerViewAdapter(Context mContext, List<Recipes> mData){
        this.mContext = mContext;
        this.mData = mData;
    }

    @NonNull
    @Override
    public MyHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

        View view ;
        LayoutInflater layoutInflater = LayoutInflater.from(mContext);
        view = layoutInflater.inflate(R.layout.cardview_recipe,viewGroup,false);
        return new MyHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull final MyHolder myHolder, final int i) {

        myHolder.recipeTitle.setText(mData.get(i).getRecipeName());
        myHolder.img_recipe_thumbnail.setImageResource(mData.get(i).getThumbnail());
        myHolder.cardView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(mContext,RecipeActivity.class);

                intent.putExtra("RecipeName",mData.get(i).getRecipeName());
                intent.putExtra("RecipeIngredients",mData.get(i).getRecipeIngredients());
                intent.putExtra("RecipeMethodTitle",mData.get(i).getRecipeMethodTitle());
                intent.putExtra("Recipe",mData.get(i).getRecipe());
                intent.putExtra("Thumbnail",mData.get(i).getThumbnail());

                mContext.startActivity(intent);
            }
        });


    }

    @Override
    public int getItemCount() {
        return mData.size();
    }

    static class MyHolder extends RecyclerView.ViewHolder {

        TextView recipeTitle;
        CardView cardView;
        ImageView img_recipe_thumbnail;

        MyHolder(@NonNull View itemView) {
            super(itemView);

            recipeTitle = itemView.findViewById(R.id.recipe_text);
            img_recipe_thumbnail = itemView.findViewById(R.id.recipe_img_id);
            cardView = itemView.findViewById(R.id.cardview_id);


        }
    }
}

1 Ответ

0 голосов
/ 19 апреля 2020

Во-первых, вам нужно настроить ваш gradle и XML. См. Android официальную документацию о настройке зависимостей.

Затем создайте запрос объявления:

// Create ad request
adRequest = new AdRequest.Builder().build();
// Attempt loading ad for interstitial
interstitial.loadAd(adRequest);

// Create and set AdListener for interstitial
interstitial.setAdListener(new AdListener() {
// Listen for when user closes ad
public void onAdClosed() {
    // When user closes ad go to your activity
    Intent intent = new Intent(mContext,RecipeActivity.class);

        intent.putExtra("RecipeName",mData.get(i).getRecipeName());
        intent.putExtra("RecipeIngredients",mData.get(i).getRecipeIngredients());
        intent.putExtra("RecipeMethodTitle",mData.get(i).getRecipeMethodTitle());
        intent.putExtra("Recipe",mData.get(i).getRecipe());
        intent.putExtra("Thumbnail",mData.get(i).getThumbnail());

        mContext.startActivity(intent);
}
});

И затем нажмите на просмотр карты:

// Create and set OnClickListener for cardview
myHolder.cardView.setOnClickListener(new OnClickListener() {
// Listen for when user presses cardview
public void onClick(View v) {
    // If a interstitial is ready, show it
    if(interstitial.isLoaded()) {
        interstitial.show();
    }
    // Otherwise send fail message
    else {
        Toast.makeText(this, "Ad failed.", Toast.LENGTH_SHORT).show();
    }
}
});

Надеюсь, это поможет!

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