как проверить значение радиокнопки при нажатии следующей кнопки

Я нахожусь в ситуации, когда у меня есть четыре переключателя, кнопка «Далее» и один вопрос. теперь моя проблема заключается в том, что если пользователь нажимает кнопку «Далее», не выбирая какой-либо параметр, он должен отображать всплывающее сообщение, и если пользователь нажимает любой из переключателей, следует проверить, правильно это или неправильно. Я частично реализовал, но я не могу получить точное решение. кто-нибудь помочь мне с этим.

заранее спасибо

Я разместил свой код ниже

Next.setOnClickListener(new View.OnClickListener() 
     {
         @Override
            public void onClick(View v) 
            {
                // TODO Auto-generated method stub



                count++;

                if(viewFlipper.getDisplayedChild()==0)
                {
                    id1 = rag1.getCheckedRadioButtonId();
                    rab1=(RadioButton)findViewById(id1);
                    //System.out.println("1nd question answer"+rab1.getText());

                    if (rag1.getCheckedRadioButtonId()!=R.id.btn1_1||rag1.getCheckedRadioButtonId()!=R.id.btn1_2||rag1.getCheckedRadioButtonId()!=R.id.btn1_3||rag1.getCheckedRadioButtonId()!=R.id.btn1_4||rag1.getCheckedRadioButtonId()!=R.id.btn1_5&&rag1.getCheckedRadioButtonId()==-1)
                    {
                        Toast.makeText(getApplicationContext(), "Please enter the  answer", Toast.LENGTH_SHORT).show();
                    }



                     if((rag1.getCheckedRadioButtonId()!=-1)&&rab1.getText().equals(c_alcorrectanswer.get(0)))
                     {
                         System.out.println("1nd question answer"+rab1.getText());
                     }

                    else
                    {
                        Toast.makeText(getApplicationContext(), "Please enter the correct answer", Toast.LENGTH_SHORT).show();
                        viewFlipper.stopFlipping();
                    }



                }

person Somasundaram NP    schedule 05.04.2014    source источник
comment
Вы можете использовать логическое значение checked = RadioButton.IsChecked()..   -  person Octane    schedule 05.04.2014
comment
перейдите по этой ссылке   -  person Akshay    schedule 05.04.2014
comment
параметры не выбраны по умолчанию, потому что пользователь должен ответить на вопрос.   -  person Somasundaram NP    schedule 05.04.2014


Ответы (1)


Вы должны проверить только одно условие. Независимо от того, выбран ли какой-либо из ваших RadioButton из ваших RadioGroup или нет.

  int radioButtonID = radioButtonGroup.getCheckedRadioButtonId();
  if(radioButtonID > 0) //return -1 if none of radiobutton is selected from radiogroup
   {
     //move to next
   }
  else
  {
   // show toast. Please select any option.
  }

Согласно вашему фрагменту кода:

if(viewFlipper.getDisplayedChild()==0)
{
 id1 = rag1.getCheckedRadioButtonId();
    if(id1 < 0) //return -1 if none of radio button is selected
     {
     //Toast. Please select any answer
     }
 }

ссылка на документацию на сайте developer.android.com

person Vikalp Patel    schedule 05.04.2014
comment
@Somasundaram Посмотрите мой отредактированный ответ. За исключением проверки стольких or and. Вы можете использовать простое одно условие, чтобы узнать, выбран ли какой-либо переключатель или нет. - person Vikalp Patel; 05.04.2014
comment
извините за задержку, я искал решение, дело в том, что у меня есть четыре макета в представлении флиппера, и я получаю текущий дочерний идентификатор на основе того, что я выполняю эту функцию. Я проверю ваш отредактированный код... - person Somasundaram NP; 05.04.2014