Hola amig@s, recurro a vosotros para que me ayudéis en este error que me da que no soy capaz de arreglar y nose de donde me puede venir. Quiero mostrar un progressdialog mientras se ejecuta un hilo, este es el código que tengo del hilo:
Thread hil = new Thread(){
@Override
public void run(){
while(continuar){
Log.w("DEBUG", "entra en el hilo.");
boolean ver = CheckCitas(f, g);
if(ver){
StopHilo();
Log.w("DEBUG", "cierra el hilo.");
}
}//FIN while
Log.w("DEBUG", "cierra el dialogo.");
}//FIN run
};//FIN hil
hil.start();//Iniciamos el hilo.
El error me da en la linea donde llamo al método "CheckCitas(f,g)" que almaceno el valor en un boolean. Os dejo también el método ese:
public boolean CheckCitas(ArrayList<String> r, ArrayList<String> y){
int i = 0;
int j = 0;
String s1 = "";
String s2 = "";
boolean esta = false;
String hora = "";
while(i < r.size()){
s1 = r.get(i).toString();
while(j < y.size()){
s2 = y.get(j).toString();
if(s1.equals(s2)){
j = y.size();
}//FIN if
if(j < y.size() && !esta)
j++;
}//FIN while
j = 0;
if(!esta){
int id = 0;
//Insertamos en la base de datos.
Conexion.Conectar(this);
Log.w("DEBUG", "numero ss: " + NumeroSS.getText().toString());
Log.w("DEBUG", "fecha: " + s1);
//Obtenemos la hora correspondiente a la fecha que no esta en la base de datos.
hora = web.GetHoraCita(this, NumeroSS.getText().toString(), s1);
Log.w("DEBUG", "hora: " + hora);
Cursor c = Conexion.db.rawQuery("SELECT MAX(ID_CITA) FROM CITAS", null);
//Comprobamos si el cursor contiene datos.
if(c.moveToFirst()){
//Comprobamos si el registro que nos devuelve es null.
if(c.getString(0) == null)
//El id que vamos ha insertar, le sumamos uno mas al id mas alto que hay en la tabla.
id = 0 + 1;
else
id = Integer.parseInt(c.getString(0)) + 1;
}//FIN if
else{
id = 1;
}//FIN else
ContentValues nuevoRegistro = new ContentValues();
nuevoRegistro.put("ID_CITA", id);
nuevoRegistro.put("FECHA", s1);
nuevoRegistro.put("HORA", hora);
nuevoRegistro.put("NUM_SEG_SOCIAL", NumeroSS.getText().toString());
Conexion.db.insert("CITAS", null, nuevoRegistro);
}//FIN if
i++;
esta = false;
}//FIN while
Conexion.Desconectar();//Desconectamos de la base de datos.
return true;
}//FIN CheckCitas
El error que me da es este:
01-26 04:58:05.630: WARN/dalvikvm(29368): threadid=7: thread exiting with uncaught exception (group=0xb57cb290)
01-26 04:58:05.630: ERROR/AndroidRuntime(29368): FATAL EXCEPTION: Thread-8
01-26 04:58:05.630: ERROR/AndroidRuntime(29368): java.lang.NullPointerException
01-26 04:58:05.630: ERROR/AndroidRuntime(29368): at peticion.citas.Ficha.CheckCitas(Ficha.java:555)
01-26 04:58:05.630: ERROR/AndroidRuntime(29368): at peticion.citas.Ficha$4.run(Ficha.java:447)
01-26 04:58:05.630: WARN/ActivityManager(2019): Force finishing activity peticion.citas/.Ficha
He mirado y remirado, he probado, y nose que puede ser. ¿ Alguien me puede ayudar?
Un saludo.