【发布时间】:2020-09-09 08:44:19
【问题描述】:
根据图片,在我的主要活动中,我使用了一个片段,在这个片段内有一个水平的 RecyclerView,有一些 CardView(下图中显示了 4 个)。 TextView 在父片段上的 RecyclerView 之外。我想要的是,从 RecyclerView 访问 TextView,即如果我单击 RecyclerView 内的卡片,相应的卡片文本将显示在 TextView 中。
示例:如果单击 CardView2,TextView 文本将为“card2”....如果单击 CardView3,TextView 文本将为“card3”
这是我的适配器类:
public class ScanCodeSliderAdapter extends RecyclerView.Adapter<viewHolder> {
private List<ScanCodeCardModel> scanCodeCardModels;
private Context context;
public ScanCodeSliderAdapter(List<ScanCodeCardModel> scanCodeCardModels, Context context) {
this.scanCodeCardModels = scanCodeCardModels;
this.context = context;
}
@NonNull
@Override
public viewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.single_scan_code_card_item, parent, false);
return new viewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final viewHolder holder, final int position) {
holder.scanCodeSingleItemCardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, ""+position, Toast.LENGTH_SHORT).show();
}
});
}
@Override
public int getItemCount() {
return scanCodeCardModels.size();
}
}
这是我的 ViewHolder 类:
public class viewHolder extends RecyclerView.ViewHolder {
public CardView scanCodeSingleItemCardView;
public viewHolder(@NonNull View itemView) {
super(itemView);
scanCodeSingleItemCardView = itemView.findViewById(R.id.scanCodeSingleItemCardView);
}
}
我还可以在这里添加什么来做到这一点?
【问题讨论】:
-
在每个卡片视图中添加一个点击监听器并通过回调或其他方式进行管理
标签: android android-recyclerview textview fragment