Foros del Web » Programando para Internet » Android »

Cargar Imagen en listView Con Json

Estas en el tema de Cargar Imagen en listView Con Json en el foro de Android en Foros del Web. Buenos Dias Gente Les dejo un problema que no puedo solucionar a ver si me dan una mano. Tengo mi un listview en un fragment ...
  #1 (permalink)  
Antiguo 04/06/2015, 15:37
 
Fecha de Ingreso: junio-2015
Mensajes: 3
Antigüedad: 5 años, 11 meses
Puntos: 0
Cargar Imagen en listView Con Json

Buenos Dias Gente

Les dejo un problema que no puedo solucionar a ver si me dan una mano.
Tengo mi un listview en un fragment que se cargo con los datos de una base por medio de Json..

Los datos los muestro sin problema pero no puedo mostrar la Imagen..

Muchas gracias de antemano y les dejo el codigo.. Saludos

Código:
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class Fm_Listado extends Fragment {



    private ProgressDialog pDialog;

    // Creating JSON Parser object
    JSONParser jParser = new JSONParser();

    ArrayList<HashMap<String, String>> empresaList;

    // url to get all products list
   public static String url_all_empresas = "http://basedecomercios.pe.hu/charconect/get_all_Contactos.php";

    // JSON Node names
    private static final String TAG_SUCCESS = "success";
    private static final String TAG_COMERCIOS = "comercios";
    private static final String TAG_ID = "id";
    private static final String TAG_NOMBRE = "Nombre";
    private static final String TAG_TELEFONO = "Telefono";
    private static final String TAG_DIRECCION = "Direccion";
    private static final String TAG_EMAIL = "Email";
    private static final String TAG_IMG = "Link";

    private ImageView imageView123;
    private Bitmap loadedimage;
    private String linkdeimagen;
   private String url;


    // products JSONArray
    JSONArray products = null;

    ListView lista;


  @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.fr_listado, container, false);

        return rootView;
    }
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        // Hashmap para el ListView
        empresaList = new ArrayList<HashMap<String, String>>();

        // Cargar los productos en el Background Thread
        new LoadAllProducts().execute();
        lista = (ListView) getView().findViewById(R.id.listAllProducts);

        imageView123 =(ImageView)getView().findViewById(R.id.imagenLocal);


    }
                    
    private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
        ImageView bmImage;

        public DownloadImageTask(ImageView bmImage) {
            this.bmImage = bmImage;
        }
        protected Bitmap doInBackground(String... urls) {
            String urldisplay = urls[0];
            Bitmap mIcon = null;
            try {
                InputStream in = new java.net.URL(urldisplay).openStream();
                mIcon = BitmapFactory.decodeStream(in);
            } catch (Exception e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }
            return mIcon;
        }
                            protected void onPostExecute(Bitmap result) {
                              bmImage.setImageBitmap(result);
                            }
    }

    //-----------------------------Base remota Funciones  Json
    class LoadAllProducts extends AsyncTask<String, String, Bitmap> {

        /**
         * Antes de empezar el background thread Show Progress Dialog
         */


        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(getActivity());
            pDialog.setMessage("Cargando comercios. Por favor espere...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(false);
            pDialog.show();
        }


        /**
         * obteniendo todos los productos
         */
        protected Bitmap doInBackground(String... args) {
            // Building Parameters
            //List params = new ArrayList();
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            // getting JSON string from URL
            JSONObject json = jParser.makeHttpRequest(url_all_empresas, "GET", params);

                       // Check your log cat for JSON reponse
            Log.d("All Products: ", json.toString());

            try {


                // Checking for SUCCESS TAG
                int success = json.getInt(TAG_SUCCESS);


                if (success == 1) {
                    // products found
                    // Getting Array of Products
                    products = json.getJSONArray(TAG_COMERCIOS);

                    // looping through All Products
                    //Log.i("ramiro", "produtos.length" + products.length());
                    for (int i = 0; i < products.length(); i++) {
                        JSONObject c = products.getJSONObject(i);

                        // Storing each json item in variable
                        String id = c.getString(TAG_ID);
                        String Nombre = c.getString(TAG_NOMBRE);
                        String Direccion = c.getString(TAG_DIRECCION);
                        String Telefono = c.getString(TAG_TELEFONO);
                        String Email = c.getString(TAG_EMAIL);
                        String Link = c.getString(TAG_IMG);


                        // creating new HashMap
                        HashMap map = new HashMap();

                        // adding each child node to HashMap key => value
                        map.put(TAG_ID, id);
                        map.put(TAG_NOMBRE, Nombre);
                        map.put(TAG_DIRECCION, Direccion);
                        map.put(TAG_TELEFONO, Telefono);
                        map.put(TAG_EMAIL, Email);
                        map.put(TAG_IMG, Link);


                        empresaList.add(map);

                     }

                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
            return null;
        }

        /**
         * After completing background task Dismiss the progress dialog
         * *
         */
        protected void onPostExecute(Bitmap file_url) {
            // dismiss the dialog after getting all products
            pDialog.dismiss();

            // updating UI from Background Thread
            getActivity().runOnUiThread(new Runnable() {

                public void run() {
                    /**
                     * Updating parsed JSON data into ListView
                     * */

                     ListAdapter adapter = new SimpleAdapter(
                            getActivity(),
                            empresaList,
                            R.layout.single_post,

                            new String[]{
                                    TAG_ID,
                                    TAG_NOMBRE,
                                    TAG_DIRECCION,
                                    TAG_TELEFONO,
                                    TAG_EMAIL,
                                    TAG_IMG,
                            },
                            new int[]{
                                    R.id.single_post_tv_id,
                                    R.id.single_post_tv_nombre,
                                    R.id.single_post_tv_direccion,
                                    R.id.single_post_tv_telefono,
                                    R.id.single_post_tv_email,
                                    R.id.imagenLocal,



                            });

                    // updating listview
                    //setListAdapter(adapter);
                    lista.setAdapter(adapter);

                }

            });

        }

    }


}

Etiquetas: json, listview, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:30.