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