1

Hye,我有一个问题,解决它有点困惑......我需要创建一个清单供用户在我的 android 应用程序中回答......它包含几个问题......例如,我有 5 个问题,用户需要通过选择回答单选按钮上的选项......所以基本上这个清单是检查用户是否被允许开车......

1)您是否受到药物的影响?//RG1, rbyes1, rbno1

O Yes       O No

2) 你有驾照吗?//RG2, rbyes2, rbno2

O Yes       O No

3)你有车吗?//RG3, rbyes3, rbno3

O YES       O No

4) 你喝醉了吗?//RG4, rbyes4, rbno4

O Yes       O No

5)你是色盲吗?//RG5, rbyes5, rbno5

O Yes       O No

用户需要回答

1) 没有

2) 是的

3) 是的

4) 没有

5) 没有

为了让用户有资格开车..

如果用户回答相反,系统应显示每个相反回答的原因。

这是我的示例代码

 If(RG1. getCheckedRadioButtonId() == R.id.rbno1 &&
    RG2. getCheckedRadioButtonId() == R.id.rbyes2 &&
    RG3. getCheckedRadioButtonId() == R.id.rbyes3 &&
    RG4. getCheckedRadioButtonId() == R.id.rbno4 &&
    RG5. getCheckedRadioButtonId() == R.id.rbno5)
   {
      Toast.makeText(getApplicationContext(),”Congratz, you can drive”, Toast.LENGTH_LONG).show();
       }

上面的代码是符合条件的用户的答案..如果用户这样回答怎么办

1) 没有

2) 没有

3) 是的

4) 是的

5) 没有

所以,系统应该显示

{
 Toast.makeText(getApplicationContext(),”Sorry, you are not allow to drive because you have\n“+ 
  “2) No driving license\n” +
  “4) influenced of alcohol\n”, Toast.LENGTH_LONG).show();

  }

这是我能做的一个想法..我需要创造每一种可能性吗???..因为对于实际的问题,我有10多个问题......所以,这意味着会有很多条件..而且由于条件太多,我也很困惑如何用代码编写它..希望你们理解我的意思并能帮助我……谢谢..!

4

2 回答 2

3

您不需要检查所有可能性。您只检查每个答案一次并跟踪错误消息,例如:

boolean canDrive = true;
ArrayList<String> errorMessages = new ArrayList<String>();
if(RG1.getCheckedRadioButtonId() == R.id.rbno1) {
     canDrive = canDrive && true;
} else {
     canDrive = false;
     errorMessages.add("Influenced of drugs");
}

if(RG2.getCheckedRadioButtonId() == R.id.rbyes2) {
     canDrive = canDrive && true;
} else {
     canDrive = false;
     errorMessages.add("No driving license");
}

// Check the rest of your answers

在您的条件结束时,您将拥有canDrive反映用户回答结果的变量,并且您将拥有errorMessages列表中的所有错误消息,您可以循环并适当地显示这些消息。

尝试使您的代码更通用,考虑使用 Array of your CheckedRadioButtons,您可以使用存储每个问题的错误消息checkBox.setTag()

于 2013-02-19T01:48:28.913 回答
0

解决方案 1: 在我看来,您必须在数据库上创建以存储结果。

当您必须要求打印错误消息时,您必须触发简单的选择查询,结果为是。

然后打印您的信息

解决方案2:

如果是,您必须创建 arrayList 并存储结果值。

然后你必须找到arrayList的长度并输入你的条件并输入消息

于 2013-02-19T04:37:57.780 回答