2016-09-30 4 views
-4

Hier ist mein Bild image of my gameleider Projekt wurde in Onclick Verfahren geschlossen

8 ist die am weitesten links stehende Zahl. Häkchen hat GameState-Funktion bei Klick. Hier unten ist der Code. Wenn 8 auf der linken Seite ist, wenn ich das Häkchen-Projekt drücke, ist das Projekt leider geschlossen. wenn 8 auf der rechten Seite und kein Leerzeichen in diesen 9 Tasten und Leerzeichen auf der linken Seite kommt und wenn ich Häkchen markiere Projekt schließt nicht. bitte hilfe.

wenn 8 kommt nach rechts und besetzen die Stelle von 27, so dass die links am meisten Taste leer wird, wenn ich Tick-Spiel drücken funktioniert gut.Wenn 8 auf der linken Seite bleibt, wenn ich Tick-Symbol unglücklicherweise Projekt hat geschlossen . -

Hier ist der Code

public void gameState(View view) { 


    String button1Text = button[0].getText().toString(); 
    String button2Text = button[1].getText().toString(); 
    String button3Text = button[2].getText().toString(); 
    String button4Text = button[3].getText().toString(); 
    String button5Text = button[4].getText().toString(); 
    String button6Text = button[5].getText().toString(); 
    String button7Text = button[6].getText().toString(); 
    String button8Text = button[7].getText().toString(); 
    String button9Text = button[8].getText().toString(); 


    String aa = String.valueOf(Integer.parseInt(button1Text) + Integer.parseInt(button2Text)); 
    String bb = String.valueOf(Integer.parseInt(button4Text) + Integer.parseInt(button5Text)); 
    String cc = String.valueOf(Integer.parseInt(button7Text) + Integer.parseInt(button8Text)); 
    String dd = String.valueOf(Integer.parseInt(button1Text) + Integer.parseInt(button4Text)); 
    String ee = String.valueOf(Integer.parseInt(button2Text) + Integer.parseInt(button5Text)); 
    String ff = String.valueOf(Integer.parseInt(button3Text) + Integer.parseInt(button6Text)); 






    if (aa.equals(button3Text)&&bb.equals(button6Text)&& cc.equals(button9Text)&& 
      dd.equals(button7Text)&& ee.equals(button8Text)&&ff.equals(button9Text)) { 

     score += 100; 
     numberofQuestions++; 
     pointstextView.setText(Integer.toString(score) + "/" + Integer.toString(numberofQuestions)); 
     for(int j=0;j<9;j++) 
     { 
      button[j].setText(""); 

     } 
     RightButton.setText(""); 
     generateQuestion(); 

    } 

} 
+0

Bitte posten Sie das Logcat und sagen Sie uns, welche Zeile zum Absturz der App führt. –

+0

wenn 8 nach rechts kommt und den Platz von 27 besetzen, so wird die linke Taste fast leer, wenn ich das Häkchen spiele, funktioniert das gut. Wenn 8 auf der linken Seite bleibt, wenn ich das Häkchen drücke, hat sich glücklicherweise das Projekt geschlossen. – Lakshmi

+0

Als Randnotiz sollten Sie ein Array für die Strings verwenden. –

Antwort

0

Aus den Fehlerprotokollen es scheint, dass Sie versuchen, leere Zeichenfolge zu konvertieren (das heißt „“) zu Integer in der Datei SecondActivity.java in Zeile Nr. 717, die den Absturz verursacht.

 Caused by: java.lang.NumberFormatException: Invalid int: "" 
                       at java.lang.Integer.invalidInt(Integer.java:137) 
                       at java.lang.Integer.parseInt(Integer.java:358) 
                       at java.lang.Integer.parseInt(Integer.java:331) 
                       at com.example.personal.numbermania.SecondActivity.gameState(SecondActivity.java:717) 
                       at java.lang.reflect.Method.invokeNative(Native Method)  
                       at java.lang.reflect.Method.invoke(Method.java:515)  
                       at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)  

Überprüfen Sie dies und fügen Sie eine angemessene Ausnahmebehandlung hinzu.

Verwandte Themen