studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones java android button radio-button onclicklistener

java - para - manual de programacion android pdf



Grupo de radio múltiple en una sola actividad (2)

Siempre se recomienda usar botones de radio dentro de un radioGrupo

Me gusta esto :

<RadioGroup android:id="@+id/question1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" > <RadioButton android:id="@+id/radio0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="RadioButton" /> <RadioButton android:id="@+id/radio1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton" /> <RadioButton android:id="@+id/radio2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton" /> </RadioGroup> <RadioGroup android:id="@+id/question2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" > <RadioButton android:id="@+id/radio3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="RadioButton" /> <RadioButton android:id="@+id/radio4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton" /> <RadioButton android:id="@+id/radio5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton" /> </RadioGroup>

Ahora, cada vez que desee ver qué respuesta se selecciona de acuerdo a qué grupo de radio puede hacer algo como esto:

RadioGroup question1 = (RadioGroup) findViewById(R.id.question1); String answer1 = ((RadioButton) findViewById(question1.getCheckedRadioButtonId())).getText().toString();

¡Enhorabuena! tienes la respuesta aquí

Estoy desarrollando una aplicación de Android en la que la actividad del cuestionario contiene botones de opción para cada pregunta. Y he diseñado la actividad en el diseño lineal. Por lo tanto, quería verificar si el usuario respondió todas las preguntas. El problema al que me enfrento está en el vacío público OnClick (Ver v) ayúdame a modificar el código java.

<RadioGroup android:id="@+id/Mquestion1" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:id="@+id/radioButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/MQ1_1_rb1" /> <RadioButton android:id="@+id/radioButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/MQ1_1_rb2" /> <RadioButton android:id="@+id/radioButton3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/MQ1_1_rb3" /> </RadioGroup> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/MQ1_2_view" android:textAppearance="?android:attr/textAppearanceSmall" /> <RadioGroup android:id="@+id/Mquestion2" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:id="@+id/radioButton4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/MQ1_2_rb1" /> <RadioButton android:id="@+id/radioButton5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/MQ1_2_rb2" /> <RadioButton android:id="@+id/radioButton6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/MQ1_2_rb3" /> </RadioGroup> <TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/MQ1_3_view" android:textAppearance="?android:attr/textAppearanceSmall" /> <RadioGroup android:id="@+id/Mquestion3" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:id="@+id/radioButton7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/MQ1_3_rb1" /> <RadioButton android:id="@+id/radioButton8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/MQ1_3_rb2" /> <RadioButton android:id="@+id/radioButton9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/MQ1_3_rb3" /> </RadioGroup> <RelativeLayout android:layout_width="match_parent" android:layout_height="44dp" > <Button android:id="@+id/button1" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:onClick="OnClickListener" android:text="@string/MQ1_next" /> </RelativeLayout> </LinearLayout>

Aquí está el código java

public class ManagerQuestionnaire1 extends Activity { Button next; RadioGroup rg1; RadioGroup rg2; RadioGroup rg3; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_manager_questionnaire1); final RadioGroup rg1=(RadioGroup)findViewById(R.id.Mquestion1); final RadioGroup rg2=(RadioGroup)findViewById(R.id.Mquestion2); final RadioGroup rg3=(RadioGroup)findViewById(R.id.Mquestion3); Button next=(Button)findViewById(R.id.button1); next.setOnClickListener(new View.OnClickListener() { public void OnClick(View v) //The error I''m getting here is REMOVE method''OnClick'' { if((rg1.getCheckedRadioButtonId()!=R.id.radioButton1 || rg1.getCheckedRadioButtonId()!=R.id.radioButton2 || rg1.getCheckedRadioButtonId()!=R.id.radioButton3)||(rg2.getCheckedRadioButtonId()!=R.id.radioButton4 || rg2.getCheckedRadioButtonId()!=R.id.radioButton5 || rg2.getCheckedRadioButtonId()!=R.id.radioButton6)||(rg3.getCheckedRadioButtonId()!=R.id.radioButton7 || rg3.getCheckedRadioButtonId()!=R.id.radioButton8 || rg3.getCheckedRadioButtonId()!=R.id.radioButton9)) { AlertDialog alert= new AlertDialog.Builder(ManagerQuestionnaire1.this).create(); alert.setTitle("Exception:Complete the Questions"); alert.setMessage("Please ensure all Questions are answered"); } else { Intent intent = new Intent(ManagerQuestionnaire1.this, ManagerQuestionnaire2.class); startActivity(intent); } } @Override public void onClick(View v) { // TODO Auto-generated method stub } }); }


cambia tu archivo xml aquí

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <RadioGroup android:id="@+id/radio" android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MQ1_1_view" android:textAppearance="?android:attr/textAppearanceSmall" /> <RadioButton android:id="@+id/radioButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MQ1_1_rb1" /> <RadioButton android:id="@+id/radioButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MQ1_1_rb2" /> <RadioButton android:id="@+id/radioButton3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MQ1_1_rb3" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MQ1_2_view" android:textAppearance="?android:attr/textAppearanceSmall" /> <RadioButton android:id="@+id/radioButton4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MQ1_2_rb1" /> <RadioButton android:id="@+id/radioButton5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MQ1_2_rb2" /> <RadioButton android:id="@+id/radioButton6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MQ1_2_rb3" /> <TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MQ1_3_view" android:textAppearance="?android:attr/textAppearanceSmall" /> <RadioButton android:id="@+id/radioButton7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MQ1_3_rb1" /> <RadioButton android:id="@+id/radioButton8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MQ1_3_rb2" /> <RadioButton android:id="@+id/radioButton9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MQ1_3_rb3" /> </RadioGroup> <RelativeLayout android:layout_width="match_parent" android:layout_height="44dp" > <Button android:id="@+id/button1" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="MQ1_next" /> </RelativeLayout>

y en tu clase Java define id para grupos de radio.