entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Como mostrar una imagen u otra en android

Tengo un problema a la hora de mostrar unas imagenes en Android. Lo que hago es obtener de una base de datos externa el nombre del equipoLocal y del equipoVisitante.

Estoy haciendo por así decirlo un calendario de partidos de un equipo y se muestra en un ListView el primer elemento el escudo del equipo local el partido en medio y como último elemento el escudo del equipo visitante.

En este caso el calendario es del equipo "Real Madrid" entonces si juega como local me aparece la imagen local del Madrid y la del equipo visitante el que sea.

Pero estoy teniendo un problema por lo siguiente haber si me entendéis:

 try {
       String s = "";
       JSONArray jArray = new JSONArray(result);

       for(int i=0; i<jArray.length();i++){
           final JSONObject json = jArray.getJSONObject(i);
           String equipoLocal = json.getString("local");
           String equipoVisitante = json.getString("visitante");
           if(equipoLocal.equals("Real Madrid")){
               items.add(new ListViewItem(){{
                    ThumbnailResource = R.drawable.launcher_icon;
                    Title = json.getString("local")+" "+json.getString("resultado")+" "+json.getString("visitante");
                    ThumbnailResource2 = R.drawable.barcelona;
                }});
           }else{
               items.add(new ListViewItem(){{
                    ThumbnailResource = R.drawable.chipionacf;
                    Title = json.getString("local")+" "+json.getString("resultado")+" "+json.getString("visitante");
                    ThumbnailResource2 = R.drawable.launcher_icon;
                }});
           }
       }

        CustomListViewAdapterPartidos adapter = new CustomListViewAdapterPartidos(this, items);
        listNoticias.setAdapter(adapter);

       } catch (Exception e) {
        // TODO: handle exception
           e.printStackTrace();
       }

En items estoy almacenando los 3 elementos que necesito y si os fijáis ThumbnailResource = R.drawable.launcher_icon; Con eso muestro la imagen que están en mi carpeta drawable.

Entonces eso es lo que necesito en la carpeta drawables están todos los escudos de los equipos y quiero saber como programar esta parte para que según el nombre del equipo con el que juega me haga referencia a una imagen de la carpeta drawables.

Más o menos lo que necesito hacer es cambiar ThumbnailResource2 = R.drawable.barcelona; por alguna variable que esté almacenando los nombres de los equipos y me muestre las imágenes correctas.

No sé si me he explicado bien pero con el código creo que lo entenderéis. Gracias

0voto

danielreales7 comentado

Lo que estoy haciendo es: crear un array final así:

final int[] images = new int[16];
images[0] = R.drawable.barcelona;
.....

Así hasta completar los elementos necesarios.
El problema es el siguiente:

int contador = 0;
       for(int i=0; i<jArray.length();i++){
           final JSONObject json = jArray.getJSONObject(i);
           final int contadorFinal = contador;
           String equipoLocal = json.getString("local");
           if(equipoLocal.equals("Real Madrid")){
               items.add(new ListViewItem(){{
                    ThumbnailResource = R.drawable.launcher_icon;
                    Title = json.getString("local")+" "+json.getString("resultado")+" "+json.getString("visitante");
                    ThumbnailResource2 = images[contadorFinal];
                }});
           }else{
               items.add(new ListViewItem(){{
                    ThumbnailResource = images[contadorFinal];
                    Title = json.getString("local")+" "+json.getString("resultado")+" "+json.getString("visitante");
                    ThumbnailResource2 = R.drawable.launcher_icon;
                }});
           }
           contador = contador + 1;
       }

He tenido que crear el array de imágenes como final porque si no no lo puedo usar dentro de items.add(...) Y ahora he tenido que hacer una variable contador declarada como 0 y dentro del for una variable llamada contadorFinal como final que sea igual a contador. Para así después poder ir incrementando dicha variable.

Pues no me da ningún tipo de error la aplicación pero no me muestra nada, se queda la actividad vacía.

¿Como puedo arreglar eso? Gracias!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta