java - 如何通过单击列表中经过适配器的项目来调用插页式广告?

标签 java android

我需要通过单击来 self 的适配器的列表中的项目来调用此 Activity 中的插页式广告。

public class SoundRecyclerAdapter extends RecyclerView.Adapter<SoundRecyclerAdapter.SoundViewHolder> {
    private final ArrayList<SoundObject> soundObjects;

    SoundRecyclerAdapter(ArrayList<SoundObject> soundObjects) {
        this.soundObjects = soundObjects;
    }

    @NonNull
    @Override
    public SoundViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.sound_item, parent, false);
        return new SoundViewHolder(itemView);
    }

    @Override
    public void onBindViewHolder(@NonNull SoundViewHolder holder, int position) {
        final SoundObject object = soundObjects.get(position);
        final Integer soundID = object.getItemID();

        holder.itemTextView.setText(object.getItemName());
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // I tried calling the interstitial here, but to no avail
                EventHandlerClass.startMediaPlayer(v, soundID);
            }
        });

        // Handle actions when the user presses a sound button
        holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                EventHandlerClass.popupManager(v, object);
                return true;
            }
        });
    }

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

    class SoundViewHolder extends RecyclerView.ViewHolder {
        final TextView itemTextView;

        SoundViewHolder(View itemView) {
            super(itemView);
            itemTextView = itemView.findViewById(R.id.textViewItem);
        }
    }
}

最佳答案

将上下文作为适配器构造函数的参数传递:

private Context context;

SoundRecyclerAdapter(Context context, ArrayList<SoundObject> soundObjects) {
    this.soundObjects = soundObjects;
    this.context = context;
}

并在点击处理程序中使用它

关于java - 如何通过单击列表中经过适配器的项目来调用插页式广告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55666885/

相关文章:

java - selenium webdriver java 下拉框

android - 更新我的应用问题

android - JNI 调用非静态函数段错误

java - 如何从 fragment 中获取 dagger 依赖项注入(inject)的上下文

安卓代码混淆。我想隐藏 Parse.com 的 key

java - 包装方法时编译错误引发异常

java - AVL树: solving a StackOverflowError

android - Compose AnimatedVisibility 转义容器

java - 观察者模式小鬼

java - 如何使用 java stringbuilder 创建一个随机短语?