2016-03-24 14 views
-2

Bu benim Kurallar. Kullanıcı kendi cevabını girdiğinde ve AnswerCheck Metodu olan Gönder Düğmesine bastığında, puanın bir TextView örneğinde gösterilmesini isterim - eğer doğru cevabı girerlerse, TextView durum 1'i düzeltecektir. biraz yardım gibi teşekkürlerAndroid Studio'daki Kontrol Skorları

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

Şimdiye kadar ne denediniz? Karşılaştığın problem nedir? – sujay

+0

Gerçekten hiç bir fikrim yok, nasıl yapmalı – TheOptimist

+0

Herkesin bir çözümü var mı? – TheOptimist

cevap

0

Set iki küresel int değişkenler

private int totalQuestion = 0;

ve private int correctQuestions = 0;

İçerisinde public void PerimeterGame(View view)totalQuestion artış.

Yanıt doğru olduğunda, public void AnswerCheck(View view) içinde correctQuestion değerini bir artırın.

Son olarak,

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

Umarım yardımcı olur metni görüntüler.

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

bakıyorum, ID bir hata geliyor "sembol myscore çözemez" – TheOptimist

+0

Sabit çok teşekkürler var! – TheOptimist

+0

Bunu duyduğuma sevindim. Cevabınız yardımcı olsaydı, oylamayı veya cevap olarak işaretlemeyi unutmayın. Şerefe! – PLOW