Ahora voy a comentar mi problema, a ver si alguien puede ayudarme.
He creado una aplicación que dadas dos preguntas con dos “RadioGroup” y marcadas sus respuestas en los “RadioBoton” de dichos RadioGroup me diga la nota pulsando un botton “Corregir”, suponiendo que la respuesta correcta suma 1 y la incorrecta resta 0.5.
He definido un vector de int inicializado con las posibles soluciones dada por lo ID’s de las respuestas “RadioBoton” que he considerado correcta para poder compararlas con las dadas por el usuario y he creado dos switch que dependiendo los ID’s de los “RadioGroup” entra según la respuesta correcta en uno u otro.
Pero la cuestión del problema es el siguiente: No sé cómo enlazar el case de los switch al vector soluciones. Entrandome en las opciones default: de dichos switch y sumándome dos errores. nota = -1.
P.D: Adjunto mis archivos: MainActivity.java y activity_main.xml para mayor aclaración. Cualquier comentario será bien agradecido. Muchísimas gracias por la colaboración de antemano.
MainActivity.java
Código PHP:
package com.example.radiogroup_3;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;
import android.app.Activity;
public class MainActivity extends Activity implements OnCheckedChangeListener, OnClickListener{
TextView tv1;
RadioGroup rgPregunta1;
RadioGroup rgPregunta2;
Button btCorreccion;
double nota = 0, nota1=0, nota2=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1=(TextView)findViewById(R.id.tv1);
btCorreccion = (Button) findViewById(R.id.btnCorregir);
rgPregunta1=(RadioGroup)findViewById(R.id.radioGroupPregunta1);
rgPregunta2=(RadioGroup)findViewById(R.id.radioGroupPregunta2);
rgPregunta1.setOnCheckedChangeListener(this);
rgPregunta2.setOnCheckedChangeListener(this);
btCorreccion.setOnClickListener(this);
}
int [] soluciones = new int [] {R.id.radio1B,R.id.radio2B}; // Las soluciones son las respuestas B
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
int pregunta1 = R.id.radioGroupPregunta1;
int pregunta2 = R.id.radioGroupPregunta2;
switch(pregunta1){
case 0:
nota1 = +1;
resultado();
break;
default:
nota1 = -0.5;
resultado();
break;
}
switch(pregunta2){
case 0:
nota2 = 1;
resultado();
break;
default:
nota2 = -0.5;
resultado();
break;
}
}
private double resultado() {
nota = nota1 + nota2;
return nota;
}
@Override
public void onClick(View arg0) {
tv1.setText("La nota es: "+nota);
}
}
Código PHP:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:id="@+id/TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pregunta 1:" />
<RadioGroup
android:id="@+id/radioGroupPregunta1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp" >
<RadioButton
android:id="@+id/radio1A"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A" />
<RadioButton
android:id="@+id/radio1B"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B" />
</RadioGroup>
<TextView
android:id="@+id/TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pregunta 2:" />
<RadioGroup
android:id="@+id/radioGroupPregunta2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp" >
<RadioButton
android:id="@+id/radio2A"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A" />
<RadioButton
android:id="@+id/radio2B"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B" />
</RadioGroup>
<Button
android:id="@+id/btnCorregir"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Corregir"
/>
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/respuesta"
android:textSize="20sp" />
</LinearLayout>