RecycleView.ViewHolder中的buttonViewOption方法丢失

时间:2018-09-22 17:25:17

标签: android contextmenu

我正在尝试将选项菜单添加到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上有一篇非常完整的文章。

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

我在buttonViewOption上找不到任何文档,甚至不推荐使用,但在我发现的许多帖子中都存在。 对于健全性检查,我尝试这样做:

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

如何为上下文菜单设置侦听器?

很可能我缺少明显的东西。

1 个答案:

答案 0 :(得分:0)

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

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

您的健全性检查将永远无法进行,因为您已经发现RecyclerView.ViewHolder根本没有buttonViewOption字段-您需要扩展此类并添加此字段。