1

問題があり、それを解決するのに少し混乱しています... 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

すべての可能性をチェックする必要はありません。すべての回答を 1 回だけ確認し、エラー メッセージを追跡します。たとえば、次のようになります。

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

コードをより一般的にするようにしてください。配列の使用を検討してください。CheckedRadioButtons使用して各質問のエラーメッセージを保存できますcheckBox.setTag()

于 2013-02-19T01:48:28.913 に答える
0

解決策 1: 私の意見では、結果を保存するためにデータベースを作成する必要があります。

エラーメッセージを印刷する必要がある場合は、結果がyesの単純な選択クエリを実行する必要があります。

次に、メッセージを印刷します

解決策 2:

はいの場合は、arrayListを作成して結果値を保存する必要があります。

次に、arrayListの長さを見つけて条件を入力し、メッセージを入力する必要があります

于 2013-02-19T04:37:57.780 に答える