Acceder

Ver la Versión Completa : [ SOLUCIONADO ] Añadir texto a EditText


KrLx_roller
22/12/11, 15:46:06
En la pantalla de inicio de sesión de mi aplicación, tengo un checkbox para recordar el usuario y la contraseña. Si éste checkbox se marca, el usuario y la contraseña se guardan usando SharedPrefences. El problema viene cuando tengo que añadir el texto de los SharedPrefences a los EditText para que el usuario no tenga que escribirlos.
Para que no me de error cuando ese valor no existe, es decir, cuando es null, tengo esto:

if (prefsUserData != null || prefsUserPass != null)
{
Log.i("USER", prefsUserData);
Log.i("PASS", prefsUserPass);
}

Con el Log funciona, pero a la que pongo lo siguiente:

if (prefsUserData != null || prefsUserPass != null)
{
userEditText.setText(prefsUserData);
}

Me tira el error java.lang.NullPointerException. He probado todo lo que se me ha ocurrido pero nada, sigue igual... Alguien me puede echar una mano para sacar esto adelante?

Gracias de antemano, un saludo!

hecsagis
22/12/11, 16:31:19
Has inicializado el EditText antes de añadirle el texto?

KrLx_roller
22/12/11, 16:43:44
Si, está todo declarado.

EditText uname, pword;
CheckBox rememberData;
String phpsessid, name, password;
public static final String prefsData = "MyPrefsFile";
private static final String prefsUser = "username";
private static final String prefsPass = "password";

SharedPreferences pref = getSharedPreferences(prefsData, MODE_PRIVATE);
String prefsUserData = pref.getString(prefsUser, null);
String prefsUserPass = pref.getString(prefsPass, null);

if (prefsUserData != null || prefsUserPass != null)
{
Log.i("USER", prefsUserData);
Log.i("PASS", prefsUserPass);
}

Lo tengo así, creo que no me he dejado nada...

EDIT: Solucionado, tenias razón. Yo lo tenía declarado, pero dentro del try del inicio de sesión. Solamente lo he copiado y pegado fuera y ya está arreglado, a ver si para la próxima presto un poco más de atención al lugar donde declaro las variables. Gracias por tu ayuda! :-)