2017-08-06 4 views
0

Ich versuche, eine Schaltfläche zu implementieren, die Ganzzahlen speichert, die in EditText eingegeben und in einem ArrayList gespeichert werden. Ich habe meine ArrayList in meiner Klasse global deklariert und rufe sie innerhalb meiner OnClickListener Methode an. Ich bin mir nicht sicher, ob ich diese ArrayList speichere oder nicht, weil ich nicht in der Lage bin zu zeigen, was ich in besagtem ArrayList gespeichert habe.Hinzufügen zu ArrayList von EditText

Meine Erklärung der Liste ist;

ArrayList<String> savedScores = new ArrayList<String >();

Das ist, was ich meine ArrayList zu retten bin mit;

`savedScores.add(input1.getText().toString());` 

nun in meiner OnClickListener Methode, habe ich eine Taste, die Benutzereingaben in die ArrayList speichert (oder so hoffe ich), und eine andere zu zeigen, was ich gespeichert habe. Wenn ich jedoch auf den "editScore" -Button klicke, wird der TextEdit gelöscht, als hätte ich nichts in meinem ArrayList gespeichert. Dies ist nur ein Test, um zu sehen, ob ich richtig in meinem Array speichern und jede Hilfe würde sehr geschätzt werden! Vielen Dank.

switch (view.getId()) { 
      case R.id.buttTotal: 
       if (blankCheck.equals("")) { 
        Toast blankError = Toast.makeText(getApplicationContext(), "YOU CANT SKIP HOLES JERK", Toast.LENGTH_LONG); 
        blankError.show(); 
        break; 
       } else { 
        int num1 = Integer.parseInt(input1.getText().toString()); //Get input from text box 
        int sum = num1 + score2; 
        score2 = sum; 
        output1.setText("Your score is : " + Integer.toString(sum)); 
        input1.setText(""); //Clear input text box 

        //SAVE TO THE ARRAYLIST HERE 
        savedScores.add(input1.getText().toString()); 
        break; 
       } 
      case R.id.allScores: //CHANGE THIS TO AN EDIT BUTTON, ADD A HOLE NUMBER COUNTER AT TOP OF SCREEN!!!!! 
       output1.setText("you messed up"); 
       break; 
      case R.id.editScore: //Need to set up Save Array before we can edit 
       output1.setText(savedScores.get(0)); 
       break; 
     } 

Antwort

2

Weil Sie leere Werte in Ihre ArrayList speichern. Sehen Sie hier

input1.setText(""); //Clear input text box 

//SAVE TO THE ARRAYLIST HERE 
savedScores.add(input1.getText().toString()); 

Der Wert input1 leer ist. Löschen Sie die Eingabe, nachdem Sie sie im Array gespeichert haben.

+0

Oh wow! Ich kann nicht glauben, dass ich das verpasst habe! Ich danke dir sehr!!!!!!! –

Verwandte Themen