点击更改文字并记住答案以便进一步比较

时间:2017-12-09 14:01:59

标签: android

通过比较问题的答案得到了猜测这个人的应用程序。该应用程序有问题和按钮(是/否)。   如何保存答案以进一步比较并将问题更改为下一个?想要在唯一的活动上这样做。 App的截图如下。 Interface
  按钮将始终处于此位置,仅更改问题,更改后,答案必须保存在不同的bool变量中。

1 个答案:

答案 0 :(得分:0)

您需要ArrayList包含所有问题,并且将按索引显示索引。如:

 int questionNo = 0; //Should be class variable
 ArrayList<String> questionList = new ArrayList<>();
  btnNext.setOnCLick(.....
     onCLick(){
         String question = questionList.get(questionNo);
         questionNo++;
     }

并且在保存所有答案时,您也可以使用ArrayList,例如::

   ArrayList<String> answers= new ArrayList<>();
   btnNext.setOnCLick(.....
     onCLick(){
         String question = questionList.get(questionNo);
         questionNo++;
         answers.add("Your answer");
     }

通过上面的代码,您可以根据questionList中问题的位置访问“答案”中的所有答案。

谢谢,让我知道是否需要了解更多信息。

<强>编辑:

这是您的活动::

 public class ThirdActivity extends AppCompatActivity {

ArrayList<String> questions = new ArrayList<>();
ArrayList<String> answers = new ArrayList<>();

String optionSelected="";

int questionNo=0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_third);


    questions.add("Question A");
    questions.add("Question B");
    questions.add("Question C");
    questions.add("Question D");
    questions.add("Question E");
    questions.add("Question F");
    questions.add("Question G");
    questions.add("Question H");
    questions.add("Question I");
    questions.add("Question J");
    questions.add("Question K");

    final TextView questionText = (TextView)findViewById(R.id.question);
    questionText.setText(questions.get(questionNo++));

    final RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radioGroup);
    radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            switch (checkedId)
            {
                case R.id.yesButton:
                    optionSelected="yes";
                    break;
                case R.id.noButton:
                    optionSelected="no";
                    break;
            }
        }
    });

    final Button nextButton = (Button)findViewById(R.id.next);
    nextButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


            if(questionNo==questions.size()-1)
            {
                nextButton.setText("Print All");
                questionText.setText(questions.get(questionNo++));
                answers.add(optionSelected);
                optionSelected="";
                radioGroup.clearCheck();
            }
            if(questionNo<questions.size()){
                questionText.setText(questions.get(questionNo++));
                answers.add(optionSelected);
                optionSelected="";
                radioGroup.clearCheck();
            }
            else{
                Log.d("Print All",answers+" ");
            }
        }
    });


}
 }

,这里是xml文件::

 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="100dp"
    android:id="@+id/question"
    android:gravity="center_horizontal"/>

  <RadioGroup
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:id="@+id/radioGroup"
   android:layout_gravity="center_horizontal">
   <RadioButton
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:id="@+id/yesButton"
       android:text="Yes"/>
   <RadioButton
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:id="@+id/noButton"
       android:text="No"/>
 </RadioGroup>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:text="next"
    android:id="@+id/next"/>

</LinearLayout>

谢谢,现在让我知道是否需要了解更多。