2016-03-24 15 views
-2

Das ist mein Code. Wenn der Benutzer seine Antwort eingibt und den Submit Button drückt, der die AnswerCheck Methode ist, möchte ich, dass der Punktestand in einem TextView zum Beispiel gezeigt wird - wenn sie die richtige Antwort eingeben, würde TextView 1 richtiges von 1 angeben. Ich würde wie eine Hilfe, DankCheck-Scores in Android Studio

public class Perimeter extends AppCompatActivity { 
    private int number; 
    private int number2; 
    private String myString; 
    private String myString2; 
    private int perimeter; 
    private Random rand; 
    private Random rand2; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_perimeter); 

     rand = new Random(); 
     rand2 = new Random(); 

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
         .setAction("Action", null).show(); 
      } 
     }); 
    } 

    public void PerimeterGame(View view) { 
     number = rand.nextInt(12) + 1; 
     TextView myText = (TextView) findViewById(R.id.rand1); 
     myString = String.valueOf(number); 
     myText.setText(myString); 

     number2 = rand2.nextInt(12) + 1; 
     TextView myText2 = (TextView) findViewById(R.id.rand2); 
     myString2 = String.valueOf(number2); 
     myText2.setText(myString2); 

     ((TextView) findViewById(R.id.question)).setText 
     ("Find the perimeter of a rectange with a width of " + myString + "cm" + " and " + "length of " + myString2 + "cm" + "."); 
    } 

    public void AnswerCheck(View view) { 
     EditText num = (EditText) findViewById(R.id.answertext); 
     int val = Integer.parseInt(num.getText().toString()); 

     perimeter = (number + number2 + number + number2); 
     if (val == perimeter) { 
      Toast.makeText(this, "The answer is correct", Toast.LENGTH_SHORT).show(); 
     } else { 
      Toast.makeText(this, "The answer is incorrect ", Toast.LENGTH_SHORT).show(); 
     } 
     findViewById(R.id.showsolbutton).setEnabled(true); 
    } 
} 
+2

Was haben Sie bisher versucht? Was ist das Problem, vor dem Sie stehen? – sujay

+0

Ich habe ehrlich gesagt keine Ahnung, wie es geht – TheOptimist

+0

Hat jemand eine Lösung? – TheOptimist

Antwort

0

Set zwei globale Variablen int

private int totalQuestion = 0;

und private int correctQuestions = 0;

Inside public void PerimeterGame(View view) Inkrement totalQuestion von eins.

Wenn die Antwort richtig ist, innerhalb public void AnswerCheck(View view) inkrement correctQuestion um eins.

Schließlich Display der Text

youTextView.setText(String.valueOf(correctQuestions) + " correct out of " + String.valueOf(totalQuestion));

Hoffe, es hilft.

public class Perimeter extends AppCompatActivity { 
    // Code ommitted 

    private int totalQuestion = 0 ; 
    private int correctQuestions = 0; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // Code ommitted 
    } 

    public void PerimeterGame(View view) { 

     // Increment totalQuestion 
     totalQuestion++; 
     number = rand.nextInt(12) + 1; 
     TextView myText = (TextView) findViewById(R.id.rand1); 
     myString = String.valueOf(number); 
     myText.setText(myString); 

     number2 = rand2.nextInt(12) + 1; 
     TextView myText2 = (TextView) findViewById(R.id.rand2); 
     myString2 = String.valueOf(number2); 
     myText2.setText(myString2); 

     ((TextView) findViewById(R.id.question)).setText 
     ("Find the perimeter of a rectange with a width of " + myString + "cm" + " and " + "length of " + myString2 + "cm" + "."); 
    } 

    public void AnswerCheck(View view) { 
     EditText num = (EditText) findViewById(R.id.answertext); 
     int val = Integer.parseInt(num.getText().toString()); 

     perimeter = (number + number2 + number + number2); 
     if (val == perimeter) { 
      correctQuestions++; 
      Toast.makeText(this, "The answer is correct", Toast.LENGTH_SHORT).show(); 
     } else { 
      Toast.makeText(this, "The answer is incorrect ", Toast.LENGTH_SHORT).show(); 
     } 
     findViewById(R.id.showsolbutton).setEnabled(true); 

     // Display text 
     youTextView.setText(String.valueOf(correctQuestions) + " correct out of " + String.valueOf(totalQuestion)); 
    } 
} 
+0

, wenn ich meine Textansicht eintippe, ID ein Fehler kommt "kann nicht lösen Symbol Myscore" – TheOptimist

+0

Vielen Dank habe ich es behoben !! – TheOptimist

+0

Froh, das zu hören. Wenn die Antwort hilfreich war, vergessen Sie nicht, zu wählen oder als Antwort zu markieren. Prost! – PLOW