0

ラジオ グループに関して 2 つの質問があります。私のアプリには、質問のリストがあります。各質問には、ラジオグループの形式で「はい」または「いいえ」のいずれかの答えがあります。私はこのようにコードを設計します。

private ArrayList<String> errorMessage = new ArrayList<String>();
private ArrayAdapter<String> adapter;
boolean pergiHaji = true;

これはサンプル質問のコードです。

//Question 1
if(rg2.getCheckedRadioButtonId() == R.id.rbtnYS2)
{
    pergiHaji = pergiHaji && true;
}
else
{
    pergiHaji = false;
    errorMessage.add("\n 1) Anda mempunyai masalah mental");
}

//Question 2
if(rg3.getCheckedRadioButtonId() == R.id.rbtnYS3)
{
    pergiHaji = pergiHaji && true;
}
else
{
    pergiHaji = false;
    errorMessage.add("\n 2)Anda masih belum baligh"); 
}

//Question 3
if(rg4.getCheckedRadioButtonId() == R.id.rbtnYS4)
{
    pergiHaji = pergiHaji && true;
}
else
{
    pergiHaji = false;
    errorMessage.add("\n 3) Anda bukan dalam golongan orang-orang yang merdeka");
}

//Question 4
if(rg5.getCheckedRadioButtonId() == R.id.rbtnYS5)
{
    pergiHaji = pergiHaji && true;                  
}

else
{
    pergiHaji = pergiHaji && true;
}

問題がすべて正しい場合は、次のように表示されます。それ以外の場合は、すべての errorMessage が表示されます。

if(pergiHaji == true)
{                       
    tv.setText("Tahniah, anda layak mengerjakan haji");
}
else
{
    adapter = new ArrayAdapter<String>(SemakanActivity.this,android.R.layout.simple_list_item_1, errorMessage);
    listV.setAdapter(adapter);
    listV.setTextFilterEnabled(true);
    adapter.notifyDataSetChanged();
}

私の質問は

1)すべてのラジオボタンがチェックされているかどうかを確認する方法.? つまり、ユーザーは送信前にすべての質問に答える必要があります。

2)他の質問を無視する方法、たとえば、質問 1 のみに答える必要があります。問 2 から問 4 までは問 1 とは関係ありませんので、答える必要はありません。しかし、送信ボタンを押すと、すべてのエラーメッセージが表示されます。質問 2 の errorMessage を 4 まで表示したくありません。

それで全部です。私の例が長すぎる場合は申し訳ありません。ありがとうございました。

4

2 に答える 2

2

最初の質問では、ラジオボタンがチェックされているかどうかを確認するのは非常に簡単です:

RadioButton radioButton = (RadioButton) findViewById(buttonId);
if(radioButton.isChecked()){
    //do something
}
于 2013-04-30T15:09:18.993 に答える
0

1)すべてのラジオボタンがチェックされているかどうかを確認する方法.? つまり、ユーザーは送信前にすべての質問に答える必要があります。

ここでは、各グループからRadioGroup少なくとも 1 つを. sを入れてから送信をクリックすると、 a を実行して、それぞれのボタンがチェックされているかどうかを確認できます。例えばRadioButtoncheckedRadioGroupArrayList<RadioGroup>for loop

for (int i=0; i<rgArray.size(); i++)
{
    if (rgArray.get(i).getCheckedRadioButtonId() == null)
    {
         // do something here like add to a different array to show error message that these aren't checked
    }
}

Activityもちろん、これは、開始時にそれらすべてのチェックを外していることを前提としています

2) 他の質問を無視する方法、たとえば、質問 1 のみに答える必要があります。問 2 から問 4 までは問 1 とは関係ありませんので、答える必要はありません。しかし、送信ボタンを押すと、すべてのエラーメッセージが表示されます。質問 2 の errorMessage を 4 まで表示したくない

何?明確にしてください...あなたが何を意味しているのか正確にはわかりません

于 2013-04-30T16:27:03.910 に答える