从微调器表单适配器获取值,到另一个活动,并从该值进行计数

问题描述 投票:0回答:1

我想从适配器中的微调器中获取正确答案“ 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();
                                        }
                                    });
android counter android-spinner recycler-adapter
1个回答
0
投票

String[]数组更改为[C0

© www.soinside.com 2019 - 2024. All rights reserved.