如何从另一个活动为Recyclerview-Adapter获取值并将值设置为特定位置的Recyclerview

时间:2019-01-02 07:50:47

标签: android android-recyclerview android-adapter

在我的应用程序中,我正在打开另一个Activity,在SecondActivity的项目点击上说RecyclerView,在点击SecondActivity时,将一些数据传递给RecyclerView适配器提交按钮(RecyclerView适配器固定在FirstActivity上)

我必须将数据设置为仅项目单击位置,我将如何实现?

我尝试获取适配器位置,并在notifyItemchanged(position)方法中使用了onBindViewHolder()

1 个答案:

答案 0 :(得分:0)

您可以在ViewHolder类或onBindViewHolder方法中设置侦听器。 ViewHolder:

public MyViewHolder(View v, final Activity activity) {
            super(v);
            title = v.findViewById(R.id.controller_title);
            v.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(activity, MainPanelActivity.class);
                    intent.putExtra("controllerName",title.getText().toString());
                    activity.startActivity(intent);
                    activity.finish();
                }
            });
        }

onBindViewHold:

@Override
    public void onBindViewHolder(final MyViewHolder holder, final int position) {
        Controller controller = controllerList.get(position);
        holder.title.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                CustomControllerInfoDialog dialog = new CustomControllerInfoDialog(activity, holder);
                dialog.show();
            }
        });
    }

在ViewHolder中,您可以传递视图的引用;在BindView方法中,您可以传递位置。这样您就可以将这些数据添加到所需的位置