Android ListView con ImageView de URL y TextView

He actualmente tengo un ListView que se obtiene de la información de un SimpleAdapter donde se alimenta el texto en TextViews. Sin embargo, ahora quiero añadir un ImageView el control ListView y cargar la imagen desde una URL y aún carga el texto del TextView.

¿Alguien sabe cómo podría hacer esto? Tal vez un SimpleAdapter no es para ser usado en este caso?

Gracias,
Daniel

  • desea diseño diferente para cada fila? O ¿cada fila contiene una imagen y un texto?
  • Sí cada fila contiene una imagen y texto.
InformationsquelleAutor DVassilev | 2013-12-17

4 Kommentare

  1. 3

    Usted tendrá que hacer las siguientes cosas:

    1. crear un xml de diseño para el listview fila que contiene un imageview y un textview.
    2. en la disminución de actividad en el elemento listview.
    3. escribir un adaptador personalizado de la ampliación de la baseadapter para rellenar la vista como desee.
    4. para cargar la imagen desde la url utilizar un cargador de imágenes de la biblioteca como Android AQuery.

    un ejemplo para el adaptador.

    public class Onadapter extends BaseAdapter {
    String[] label;
    String[] image;
    
    public Onadapter(Context context,String[] label,String[] image)
    {
    
        this.context=context;
        this.image = image;
        this.label = label;
    
    }
    
    private class ViewHolder{
        ImageView img;
        TextView label;
    
    }
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
    
        LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.list_layout, null);
            holder = new ViewHolder();
            holder.label=(TextView) convertView.findViewById(R.id.textview);
            holder.img = (ImageView) convertView.findViewById(R.id.imageview);
            convertView.setTag(holder);
        }
        else {
            holder = (ViewHolder) convertView.getTag();
        }
    
         AQuery aq = new AQuery(convertView);
    
         aq.id(holder.label).text(label[position]);
         aq.id(holder.img).image(image[position], true, true, 0, 0, null, AQuery.FADE_IN_NETWORK, 1.0f);
    
        return convertView;
    }
    
    
    @Override
        public int getCount() {
            //TODO Auto-generated method stub
            return image1.length;
        }
    
    
        @Override
        public long getItemId(int position) {
            //TODO Auto-generated method stub
            return position;
        }
    
    
        @Override
        public Object getItem(int position) {
            //TODO Auto-generated method stub
            return null;
        }

    Importar el AQuery de la biblioteca mediante la descarga de la jarra de la versión (de preferencia) y pegarlo en la carpeta libs.

    Pasar en dos matrices de cadena para la etiqueta y la url de la imagen. El AQuery biblioteca funciona el almacenamiento en caché de imágenes también!

  2. 1

    SimpleAdapter puede manejar sólo texto. Si desea una lista en la que cada elemento contiene una imagen diferente, usted debe crear un adaptador personalizado.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea