@Override public View getView(int position, View convertView, ViewGroup parent) { ContenedorVistas contenedor; // Si no se puede reciclar. if (convertView == null) { // Se infla el layout. convertView = LayoutInflater.from(contexto) .inflate(R.layout.fragment_imagenes_lista_item, parent, false); // Se obtienen las vistas de elemento. contenedor = new ContenedorVistas(); contenedor.imgFoto = (ImageView) convertView.findViewById(R.id.imgFoto); contenedor.lblUsuario = (TextView) convertView.findViewById(R.id.lblUsuario); // Se guarda el contenedor en la propiedad tag de la vista del // elemento. convertView.setTag(contenedor); } else { // Si se puede reciclar, obtengo el contenedor de la vista // reciclada del elemento. contenedor = (ContenedorVistas) convertView.getTag(); } // Se escriben los datos correspondientes en las vistas. Imagen imagen = datos.get(position); // contenedor.imgFoto.setImageUrl(imagen.getUrl(), cargadorImagenes); // Se muestra la imagen en el imageView con la librería Picasso, que // almacenará la imagen en caché de memoria y de disco con el tamaño // indicado. Picasso.with(contexto) .load(imagen.getUrl()) .resize(anchoFoto, altoFoto) .into(contenedor.imgFoto); contenedor.lblUsuario.setText(imagen.getUsername()); // Se retorna la vista del elemento para que se pinte. return convertView; }
// Cuando se va a pintar un elemento de la lista. @Override public View getView(int position, View convertView, ViewGroup parent) { // Variables locales. ContenedorVistas contenedor; // Contenedor de vistas. // Intento reutilizar. if (convertView == null) { // Se infla la vista-fila a partir de la especificación XML. convertView = mInflador.inflate(R.layout.activity_main_item, parent, false); // Se crea el contenedor de vistas y se almacenan en el tag de la // vista. contenedor = new ContenedorVistas(); contenedor.imgFoto = (ImageView) convertView.findViewById(R.id.imgFoto); contenedor.lblNombre = (TextView) convertView.findViewById(R.id.lblNombre); contenedor.lblAnio = (TextView) convertView.findViewById(R.id.lblAnio); convertView.setTag(contenedor); } else { // Se obtiene el contenedor desde la propiedad Tag de la vista. contenedor = (ContenedorVistas) convertView.getTag(); } // Se escriben los valores en las vistas. Album album = mAlbumes.get(position); contenedor.imgFoto.setImageResource(album.getFotoResId()); contenedor.lblNombre.setText(album.getNombre()); contenedor.lblAnio.setText(album.getAnio()); // Se retorna la vista. return convertView; }
@Override public View newView(Context context, Cursor cursor, ViewGroup parent) { // Se infla el layout. View v = LayoutInflater.from(contexto).inflate(R.layout.fragment_imagenes_lista_item, parent, false); // Se obtienen las vistas de elemento. ContenedorVistas contenedor = new ContenedorVistas(); contenedor.imgFoto = (ImageView) v.findViewById(R.id.imgFoto); contenedor.lblUsuario = (TextView) v.findViewById(R.id.lblUsuario); // Se guarda el contenedor en la propiedad tag de la vista del // elemento. v.setTag(contenedor); bindView(v, context, getCursor()); return v; }