如何在Android的NestedRecyclerView中获取选定的项目

时间:2019-06-04 23:18:44

标签: android android-recyclerview

我对这个问题有一个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);
}

0 个答案:

没有答案