Как получить выделенный элемент в NestedRecyclerView в Android - PullRequest
0 голосов
/ 05 июня 2019

У меня есть одно 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...