缺少 RecycleView.ViewHolder 中的 buttonViewOption 方法

buttonViewOption method from RecycleView.ViewHolder missing

我正在尝试将选项菜单添加到 RecycleView 行。大多数示例需要在 onBindViewHolder 方法中添加一个侦听器,如下所示:

@Override
public void onBindViewHolder(@NonNull final MyAdapter.ViewHolder holder, int position) {

        binderHelper.bind(holder.swipeLayout, chat.getChatId());
        ...
        holder.buttonViewOption.setOnClickListener(new View.OnClickListener() { //buttonViewOption property does not exist
            @Override
            public void onClick(View view) {
...

here一个很完整的post一下。

我的问题是 holder 当时没有这样的 属性 buttonViewOption。

我找不到任何关于 buttonViewOption 的文档,甚至没有被弃用,但它存在于我发现的许多 posts 中。 为了完整性检查,我试试这个:

 RecyclerView.ViewHolder h;
 h.buttonViewOption.  //property does not exist

如何设置上下文菜单的监听器?

很可能我遗漏了一些明显的东西。

您的 ViewHolder 实施 (MyAdapter.ViewHolder) 需要有一个字段 buttonViewOption 才能工作。

请参阅 example you've referenced 并搜索 buttonViewOption 以了解它是如何完成的。在示例中,XML 布局中的 R.id.textViewOptions 映射到 buttonViewOption 字段。

你的健全性检查永远不会起作用,因为你已经发现 RecyclerView.ViewHolder 根本没有 buttonViewOption 字段 - 你需要扩展这个 class 并添加这个领域。