Ho il seguente codice che voglio usare per assicurarmi che il mio edittext non sia vuoto. Quindi, se la prima disegnata 0 (zero) viene rimosso deve ripristinare 0 quando cambia focus Ecco l'applicazione finora:Impedire che edittext sia vuoto
package your.test.two;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class TesttwoActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText edtxt = (EditText)findViewById(R.id.editText1);
// if I don't add the following the app crashes (obviously):
edtxt.setText("0");
edtxt.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
update();
}
});
}
public void update() {
EditText edittxt = (EditText)findViewById(R.id.editText1);
Integer i = Integer.parseInt(edittxt.getText().toString());
// If i is an empty value, app crashes so if I erase the zero
//on the phone and change focus, the app crashes
}
}
Ho provato quanto segue nel metodo update():
String str = edittxt.getText().toString();
if (str == "") {
edittxt.setText("0");
}
Ma non funziona. Come posso consentire a edittext di non essere mai emty, tornare a zero quando è vuoto ma non quando esiste un valore. Ho già fatto in modo che l'edittext possa solo consentire valori numerici.
Grazie mille! Questo ha funzionato. – Anomaly
Se incappate in questo problema, dovreste leggere le differenze tra 'equals()' e '=='. @Christian: forse un po 'più di una spiegazione sarebbe bella, in quanto questo problema suggerisce che le basi non sono chiare per l'OP :) – WarrenFaith