2015-11-13 11 views
6

Sono nuovo nella programmazione. Ho fatto una semplice app Android che chiede all'utente di inserire 2 numeri, fare calcoli, visualizzare la risposta facendo clic sul pulsante Calcola. Ora sto cercando di impostare il pulsante di reset per cancellare tutti i campi. Controllato per la soluzione sullo stack overflow, ma ancora non riesco a capire come farlo. Questo è il mio codice:Reimposta codice per EditText e TextView per Android

public void calculate(View view) 
{ 

    EditText number1 = (EditText)findViewById(R.id.num1ID); 
    EditText number2 = (EditText)findViewById(R.id.num2ID); 

    Double num1Value = Double.parseDouble(number1.getText().toString()); 
    Double num2Value = Double.parseDouble(number2.getText().toString()); 

    Double resultValue = num1Value - num2Value; 
    TextView resultDisplay = (TextView)findViewById(R.id.resultID); 

    resultDisplay.setText(Double.toString(resultValue)); 
    } 

Grazie.

+4

Si utilizza il metodo setText, passando una stringa vuota: '.setText ("")' – 1615903

+0

Hi @ Nick. Ho trovato [questo thread] (http://stackoverflow.com/a/5816949) che sembra abbastanza interessante. Potrebbe servire come riferimento per gli altri. In sostanza, se si dispone solo di EditText in un singolo layout, è possibile utilizzare questo metodo per reimpostarli tutti. ** Modifica **: capisco che sei nuovo nella programmazione, non mi aspetto che tu capisca cosa sta succedendo, ma, di nuovo, può servire come riferimento per gli altri. – AuroMetal

+0

hai ragione, mi sembra abbastanza complicato, spero di riuscire a concludere questa soluzione prima possibile. Grazie! – nick

risposta

3

basta aggiungere il pulsante resetButton al layout

Button resetButton = (Button) findViewById(R.id.btnReset); 
    resetButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      number1.setText(""); 
      number2.setText(""); 
      resultDisplay.setText(""); 
     } 
    }); 
+0

Ha funzionato come un fascino! Molte grazie! – nick

2

Non esiste un metodo in EditText per cancellare i dati. Se si desidera cancellare i dati è necessario impostare

.setText(""); 

Nella stessa documentazione di Android non è possibile ripristinare il campo.

3

Avere un metodo come questo

public void resetTextViews() { 
     number1.setText(""); 
     number2.setText(""); 
     resultDisplay.setText(""); 
} 

Poi basta impostare un ascoltatore al clic sul pulsante che chiama questo metodo.

2

Vuoi resettare il tuo edittext?

private void resetNumbersFields() { 
    number1.setText(""); 
    number2.setText(""); 
    resultDisplay.setText(""); 
    // if you want you can add setHint to add hint to your EditText when your field is empty 
} 

spero che ti aiutano a

2

codice esatto per il vostro programma.

public void calculate(View view) { 

    EditText number1 = (EditText)findViewById(R.id.num1ID); 
    EditText number2 = (EditText)findViewById(R.id.num2ID); 
    Button B_reset=(Button)findViewById(R.id.bReset); 
    // create a button on your Layout for Reset as "bReset" 

    Double num1Value = Double.parseDouble(number1.getText().toString()); 
    Double num2Value = Double.parseDouble(number2.getText().toString()); 

    Double resultValue = num1Value - num2Value; 
    TextView resultDisplay = (TextView)findViewById(R.id.resultID); 

    resultDisplay.setText(Double.toString(resultValue)); 


//reset code 
    B_reset.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     number1.setText(""); // reset the EditText number1 
     number2.setText(""); // reset the EditText number2 
     resultDisplay.setText(""); // reset the Textview resultDisplay 
     } 
    }); 

} 
2

edittext1.setText(StringUtility.EMPTY);. Aiuterà.