我对这个问题有一个recylerview,而另一个recylerview是对recylerview内部不同问题的回答。我也有问题的recylerview活动中的提交按钮。在我的情况下,用户只能选择每个问题的单个答案,并且仅当用户选择每个问题的一个答案时,我才希望显示该活动按钮。我已经尝试了许多解决方案来获取选定的答案,但是它没有用。有人可以帮助我获得活动中的所选问题的答案吗?这样我就可以设置按钮的可见性。
这是我选择答案的代码。我想在活动中获得选定的答案。这样我就可以相应地设置按钮的可见性。
surveyAnswerModel.setIsSelected(true);
holder.btnAns.setBackground(ContextCompat.getDrawable(context,
R.drawable.button_corner_with_background));
holder.btnAns.setTextColor(ContextCompat.getColor(context,
R.color.white));
if (row_index > -1) {
SurveyAnswerModel model = arrayList.get(row_index);
model.setIsSelected(false);
Log.e("model", "" + model.getAnswer() + model.getIsSelected());
holder.btnAns.setBackground(ContextCompat.getDrawable(context, R.drawable.button_round_corner));
holder.btnAns.setTextColor(ContextCompat.getColor(context, R.color.chronic_acne_blue));
}
row_index = position;
notifyDataSetChanged();
这是我的RecyclerviewQuestionAdapter,我在问题的recyclerview中设置了surveyAnswerAdapter。
@Override
public void onBindViewHolder(@NonNull MyHolder holder, int position) {
holder.setIsRecyclable(false);
SurveyStepsModel surveyStepsModel = arrayList.get(position);
ArrayList<SurveyAnswerModel> ansArrayList = surveyStepsModel.getAnswerList();
holder.tvQuestion.setText(surveyStepsModel.getQuestion());
Bundle bundle = new Bundle();
bundle.putBoolean("MultiSelectionAllow", surveyStepsModel.getMultiSelectionAllowed());
bundle.putBoolean("ReorderAllow", surveyStepsModel.getReorderAllowed());
surveyAnswerAdapter = new SurveyAnswerAdapter(context, ansArrayList,
this::onDragStarted, bundle, this::onCountDone);
holder.rvAnswer.setItemAnimator(new DefaultItemAnimator());
holder.rvAnswer.setAdapter(surveyAnswerAdapter);
}