Ver Mensaje Individual
  #11  
Viejo 01/02/17, 20:32:15
Array

[xs_avatar]
Joakin60 Joakin60 no está en línea
Miembro del foro
 
Fecha de registro: oct 2015
Mensajes: 64
Tu operador: Movistar

Crear apartado Favoritos

Olvidémonos del switch, era un ejemplo mal puesto. Te cuento lo que quiero hacer, cómo y el desastre.
Intento hacer un apartado de favoritos, y para ello he hecho lo siguiente:
Una base de datos SQLite que cuando le das a añadir guarda un número de identificación del registro que se corresponde con el del registro correspondiente de una base de datos externa MySQL y el nombre del apartado para saber que url y variables (una en mi caso) utilizar. Para ver los favoritos recupero el nombre de apartado y el pid de la siguiente forma:
….
public String[] apartadomatriz = {"Arte y cultura","Naturaleza","Ofertas para comer,…};
...
public void onClick(View v) {
//Vemos los registros de nuestra tabla
pids = new String[FDB.recuperarfavoritos().size()];
aparts = new String[FDB.recuperarfavoritos().size()];
apartadoListArte = new ArrayList<String>();
pidListArte = new ArrayList<String>();
for (int i = 0; i < FDB.recuperarfavoritos().size(); i++) {
pids[i] = FDB.recuperarfavoritos().get(i).getpid();
aparts[i] = FDB.recuperarfavoritos().get(i).getapartado();
//Registros del apartado Arte y Cultura
if(apartadomatriz[0].equals(aparts[i])){
pidListArte.add(pids[i]);
apartadoListArte.add(aparts[i]);
String url_fav_Arte="http://xxx/phpconsult/favoritos/arte.php";
ArrayList<String> urlArte = new ArrayList<String>(Arrays.asList(url_fav_Arte.split (",")));
Log.d("PIDSARTE", pidListArte + " ," + apartadoListArte);
if (pidListArte!=null){
new ActualizarFavoritos().execute (pidListArte,urlArte);
} else {
Toast.makeText(getApplicationContext(), "No tiene favoritos guardados", Toast.LENGTH_LONG).show();
}
}
Y con estos datos utilizar un AsyncTask (ActualizarFavoritos) y rellenar un RecyclerView. Hasta ahí, con sólo un apartado va bien. El problema es que son varios apartados (Naturaleza,Ofertas…), y si añado otro con estructura similar al anterior (y también llamando a new ActualizarFavoritos().execute (pidListNaturaleza,urlNaturaleza);) el json da error. Si utilizo dos AsyncTask uno para cada apartado (que ya es un engorro), se queda colgado en el ProgressDialog, sin contar como me las apañaría con el RecyclerView.
Así que si me puedes orientar te lo agradecería muchísimo.
Responder Con Cita