Ich mache eine Quizz App für Android mit 10 Fragen, alle mit 4 Radio Buttons, und eine Taste am Ende, um die Punktzahl anzuzeigen. Das Problem ist, wenn ich die richtige Antwort wähle, gibt es 5 Punkte, aber wenn ich einen anderen Radioknopf überprüfe, bleiben die Punkte 5 und wenn ich wieder drücke, summiert es sich 5. Was ist der beste Weg, dies zu kodieren? HierMaking Quiz App in Android mit Optionsfeldern
ist der Code:
package com.example.android.quizproject;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.RadioButton;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
int points = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void firstRadioButtons (View view){
boolean checked = ((RadioButton) view).isChecked();
switch (view.getId()) {
case R.id.questionOneA:
if (checked)
points += 0;
break;
case R.id.questionOneB:
if (checked)
points += 0;
break;
case R.id.questionOneC:
if (checked)
points += 5;
break;
case R.id.questionOneD:
if (checked)
points += 0;
break;
}
}
public void showScore (View view) {
TextView scoreTextView = (TextView) findViewById(R.id.score);
scoreTextView.setText(" " + points);
}
}
Die Art, wie Sie die Frage formuliert haben, ist etwas verwirrend. Der angezeigte Code fügt 5 Punkte hinzu, wenn auf die richtige Option (C) geklickt wird, und macht nichts, wenn auf eine andere Option geklickt wird. Ist das nicht das beabsichtigte Verhalten? Oder fragen Sie nur nach dem besten Weg, dies zu implementieren? – RedBassett
Sorry, mein Englisch ist das Schlimmste! Das Problem ist, wenn ich das richtige auswähle addiert es 5 Punkte, wenn ich zu A, B oder D wechsle es summiert 0 aber subtrahiert niemals die 5 Punkte wenn C gewählt wird, und Wenn ich C wieder wähle fügt es Punkte hinzu, insgesamt 10 Punkte. –
Keine Sorgen auf Englisch. Du machst es gut, um so weit zu kommen! Wie sind die Fragen angelegt? Sind alle zehn Fragen auf einer Seite oder gibt es einen "nächsten" Knopf, um zwischen den Fragen zu wechseln? Wenn es eine Schaltfläche gibt, addieren/subtrahieren Sie keine Punkte, bis diese ausgewählt ist. Wenn sie sich auf einer Seite befinden, überprüfen Sie alle Fragen, wenn die Bewertungsschaltfläche am Ende gedrückt wird, nicht wenn eine Option aktiviert ist. – RedBassett