У меня есть одно 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, в котором я установил 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);
}