android - 在 RecyclerView Adapter 的 onBindViewHolder 中获取上下文

标签 android

我正在尝试在 RecyclerViewAdapter 中以编程方式创建复选框,但我不确定如何在 onBindViewHolder 中传递上下文。同样值得注意的是我使用了 4 个不同的 ViewHolders 类。

这是我要添加复选框的 ViewHolder 类,这段代码在 onBindViewHolder

ViewHolderMulChoice viewHolderMulChoice = (ViewHolderMulChoice) holder;
viewHolderMulChoice.questionNumber.setText((position + 1) + ")");
viewHolderMulChoice.questionTitle.setText(current.getQuestion());
viewHolderMulChoice.questionInstructions.setText(current.getInstruction());
if (current.getOptional() == 1) {
    viewHolderMulChoice.questionOptional.setText("*");
} else {
    viewHolderMulChoice.questionOptional.setText("");
}

List<SurveyQuestionOptions> options = current.getSurvey_question_option();
for (SurveyQuestionOptions option: options) {
    CheckBox checkBox = new CheckBox(//context goes here);
    checkBox.setText(option.getOption());
    viewHolderMulChoice.options.addView(checkBox);
}

最佳答案

您不必将上下文作为构造函数参数。每个 View 都引用上下文

@Override
public void onBindViewHolder(@NonNull Holder holder, int i) {
     Context context = holder.itemview.getContext();
}

关于android - 在 RecyclerView Adapter 的 onBindViewHolder 中获取上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61596378/

相关文章:

android - 更新 apk 的同时更新数据库

java - 如何在Android上创建透明演示?

android - 在 Activity 之上创建一个透明对话框

java - 从 pdf417 中提取数据,例如驾驶执照

Android:带有附加参数的onClick回调?

android - Android 6.0如何获取runtimepermission

android - Scrollview 不适用于 Cardview

android - API 级别 29 Intent.ACTION_GET_CONTENT 从下载文件夹返回错误 ID

android - 包括 <使用权限 android :name ="android.permission.INTERNET"/> in manifest causes error

android - 编写向后兼容的 Android 代码