Tengo el siguiente código que quiero usar para asegurarme de que mi texto de edición no estará vacío. Así que si el primer dibujado 0 (cero) se retira debe revertir a 0 cuando el foco cambia, aquí está la aplicación hasta ahora: métodoEvite que el texto de edición esté vacío
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
}
}
He intentado el siguiente en la actualización():
String str = edittxt.getText().toString();
if (str == "") {
edittxt.setText("0");
}
Pero no funciona. ¿Cómo puedo permitir que el texto de edición nunca sea emty, vuelva a cero cuando esté vacío pero no cuando exista un valor? Ya me he asegurado de que el texto de edición solo permita valores numéricos.
¡Muchas gracias! Esto funcionó. – Anomaly
Si te tropiezas con este problema, debes leer acerca de las diferencias entre 'equals()' y '=='. @ Christian: tal vez un poco más de una explicación sería agradable, ya que este tema sugiere que los fundamentos no están claros para el OP :) – WarrenFaith