首页 > 解决方案 > RecyclerView 适配器的 onBind 方法

问题描述

我的 MainActivity 3 RecyclerViews 中有。

其中一个在底部工作表中,它是主要工作表(默认情况下,底部工作表是 Open To Display this one ),在其适配器的 onbind 方法中,我创建了一个onClickListener以便当用户单击其中的项目时我想要,

我想回到主活动类来设置启动它的方法是关闭底部表并设置下一个回收视图的数据(将在底部表关闭时出现)

.....这里的问题是如何从onBind方法的Listener启动这个方法,并给它一个来自这个viewHolder的参数作为它的名字和它的一些属性

如果有不清楚的地方请告诉我

@Override
public void onBindViewHolder(@NonNull final ViewHolder viewHolder, final int position) {

        viewHolder.categoryImage.setImageResource(mRowOfCategories.get(position).getCategoryImage());
        viewHolder.categoryName.setText(mRowOfCategories.get(position).getCategoryName());
        viewHolder.mCardView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


            }
        });


    }

标签: androidandroid-recyclerviewandroid-viewholder

解决方案


最简单的:

您在 Activity 中声明要调用的方法。它必须是公开的:

public void method(){}

然后,在 Adapter 的 Constructor 中,将 Activity 的引用作为参数传递:

public MyAdapter(Activity activity){}

并且,在 onBindViewHolder 中:

MyActivity mActivity=(MyActivity)activity;
mActivity.method();

推荐阅读