Java 如何从RecycleAdapter获取值并设置为MainActivity文本?

Java 如何从RecycleAdapter获取值并设置为MainActivity文本?,java,android,textview,Java,Android,Textview,我的适配器代码如下所示: @Override public void onBindViewHolder(final ViewHolder holder, final int position) { GetSet getSet = allData.get(position); holder.tvId.setText(getSet.getId().toString()); holder.tvName.setText(getSet.get

我的适配器代码如下所示:

    @Override
    public void onBindViewHolder(final ViewHolder holder, final int position) {
        GetSet getSet = allData.get(position);
        holder.tvId.setText(getSet.getId().toString());
        holder.tvName.setText(getSet.getName());

    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{

        @BindView(R.id.tvId)
        TextView tvId;

        @BindView(R.id.tvName)
        TextView tvName;

我在
MainActivity
中有
textview
,我的问题是如何获取要在
textview
中设置的值/文本id和名称?

如果您想在Recyclerview上获取项目的id或名称,您可以在适配器代码中编写一个公共函数,如下所示:

public GetSet getGetSetItem(int position){
  return allData.get(position);
}

然后像这样调用
MainActivity
adapter.getsetItem(1.getId()
适配器.getsetItem(1).getName()

假设您在“活动”中有标签,并且希望将更新后的字符串传递给“活动”。见以下建议

适配器

//create an interface in adapter
public interface LabelChangeListener {
    void onLabelChanged(String text);
}

//create a method inside adapter
public void setLabelChangeListener(LabelChangeListener listener) {
    this.listener = listener;
}

//optional: create this method inside adapter
public void updateActivityLabel() {
    if (listener != null) {
        listener.onLabelChanged("this is update");
    }
}
活动

//from activity 
adapter.setLabelChangeListener(new LabelChangeListener() {
    void onLabelChanged(String text) {
        lblYourTextView.setText(text);
    }
});

还有一件事,您可以使用recycler view的api检索视图持有者项:

findViewHolderForAdapterPosition(position)

谢谢,自定义文本怎么样?所以没有getter,只有holder.tvName.setText(“我的名字”);如何调用MainActivity?如果有自定义文本视图,我相信您可以设置您知道的默认文本或依赖于当前项的文本。所以,你可以在MainActivity中为textview再次执行此操作。谢谢你的回复,但没有更改:(仍然相同,你能给我更多的ex吗?这里有人吗