我想从适配器中的微调器中获取正确答案“ qCorrrect”的值,以使其活动并使其与之相反。我有getUser_input方法采用该值并传入ButtonListener。但是当我走时通过我的按钮活动中的debbuger“ user_input”不显示任何值
@Override
public void onBindViewHolder(@NonNull final ItemAdapter.MyHolder holder, int position) {
holder.question.setText(mList.get(position).getQuestion());
holder.category.setText(mList.get(position).getCategory());
final ArrayList<String> questions=new ArrayList<>();
qCorrect=mList.get(position).getCorrectAnswer();
String qWrong= String.valueOf(mList.get(position).getIncorrectAnswers().get(0));
String qWrong1= String.valueOf(mList.get(position).getIncorrectAnswers().get(1));
String qWrong2= String.valueOf(mList.get(position).getIncorrectAnswers().get(2));
questions.add(qCorrect);
questions.add(qWrong);
questions.add(qWrong1);
questions.add(qWrong2);
Collections.shuffle(questions);
user_input=new String[mList.size()];
final ArrayAdapter<String> arrayAdapter=
new ArrayAdapter<String>(context,android.R.layout.simple_spinner_dropdown_item,questions);
holder.spinner.setAdapter(arrayAdapter);
holder.spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if(holder.spinner.getSelectedItem().equals(qCorrect)){
user_input[position]=qCorrect;
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
Button finshButton=findViewById(R.id.finishBtn);
finshButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int couter=0;
String[] user_input=itemAdapter.getUser_input();
for(int i=0;i<mQuestionList.size();i++){
if(mQuestionList.get(i).getCorrectAnswer().equals(user_input[i])){
couter++;
}
}
Toast.makeText
(QuestionsActivity.this, couter + "/" + mQuestionList.size() , Toast.LENGTH_SHORT).show();
}
});