Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 27/12/15, 11:38:02
Array

[xs_avatar]
juandqt juandqt no está en línea
Usuario poco activo
 
Fecha de registro: dic 2015
Mensajes: 2
Modelo de smartphone: iPhone 5s
Tu operador: Movistar
Insertar multiples imagenes en layout

Feliz navidad a todo el mundo
Bueno, soy nuevo en este foro y la verdad, lo vi bastante bueno. Espero quedarme
Iré al grano, estoy intentando insertar dinamicamente imagenes (ImageView) en un array adapter. Pero este solo muestra 1 imagen, de por ejemplo, las 2 que quiero insertar. Pero, desafortunadamente no lo consigo. Y la verdad, no creo que sea cosa del arrayadapter, ya que este si que pilla y coloca muy bien los otros componentes que ha de cargar.



El codigo seria este:

Código:
        LinearLayout linearLayout = (LinearLayout) view.findViewById(R.id.ll_estrellas);

        ImageView img1 = new ImageView(activity);
        img1.setImageResource(R.drawable.estrella);

        ImageView img2 = new ImageView(activity);
        img2.setImageResource(R.drawable.estrella);


        linearLayout.addView(img1);
        linearLayout.addView(img2);
donde la variable linearlayout hace referencia a la layout(ya creada) para insertarle las siguientes imagenes.

El codigo completo seria este:
Código:
package com.example.juan.projecte_uf1;

import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

/**
 * Created by Juan on 25/12/2015.
 */
public class AdapterPelicula extends ArrayAdapter {
    Activity activity;
    Pelicula[] peliculas;

    public AdapterPelicula(Activity activity, Pelicula[] peliculas) {
        super(activity, R.layout.lay_pelicula,peliculas);
        this.activity = activity;
        this.peliculas = peliculas;
    }

    @override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater layoutInflater = activity.getLayoutInflater();
        View view = layoutInflater.inflate(R.layout.lay_pelicula, null);

        TextView tv_titulo = (TextView) view.findViewById(R.id.tv_titulo);
        tv_titulo.setText(peliculas[position].getTitle());
        TextView tv_ano = (TextView) view.findViewById(R.id.tv_ano);
        tv_ano.setText(peliculas[position].getYear().toString());
        ImageView img_pelicula = (ImageView) view.findViewById(R.id.iv_imagen);
        img_pelicula.setImageResource(peliculas[position].getImg());

        LinearLayout linearLayout = (LinearLayout) view.findViewById(R.id.ll_estrellas);

        ImageView img1 = new ImageView(activity);
        img1.setImageResource(R.drawable.estrella);

        ImageView img2 = new ImageView(activity);
        img2.setImageResource(R.drawable.estrella);

        linearLayout.addView(img1);
        linearLayout.addView(img2);

        return view;
    }
}
¿Alguien me podria ayudar con esto?

saludos
Responder Con Cita


  #2  
Viejo 27/12/15, 11:44:58
Array

[xs_avatar]
GabrielRMunoz GabrielRMunoz no está en línea
Miembro del foro
 
Fecha de registro: dic 2015
Localización: Collado Villalba
Mensajes: 71
Modelo de smartphone: iPhone 5s
Tu operador: Amena
¡Buenos días! ¿Podrías ser más específico con lo que quieres? No termino de entender cual tendría que ser el resultado. Espero poder ayudarte.
Responder Con Cita
  #3  
Viejo 27/12/15, 13:41:00
Array

[xs_avatar]
beta tester beta tester no está en línea
Miembro del foro
 
Fecha de registro: mar 2015
Mensajes: 166
Modelo de smartphone: OnePlus 5

Me supongo que lo que quieres implementar es una especie de puntuación por estrellas, por lo que veo en la imagen.

Para ello, creo que la solución más sencilla sería colocar el número de estrellas máximo en el Layout correspondiente a cada uno de los elementos de la lista, supongamos 5 estrellas. Posteriormente, desde la Activity o Fragment correspondiente, ocultar las estrellas que no sean necesarias. Suponiendo que queramos mostrar, por ejemplo, 3 estrellas, sería algo así:

Código:
ImageView img1 = (ImageView) view.findViewById(R.id.estrella_1);
ImageView img2 = (ImageView) view.findViewById(R.id.estrella_2);
ImageView img3 = (ImageView) view.findViewById(R.id.estrella_3);
ImageView img4 = (ImageView) view.findViewById(R.id.estrella_4);
ImageView img5 = (ImageView) view.findViewById(R.id.estrella_5);

img1.setVisibility(View.GONE);
img2.setVisibility(View.GONE);
Saludos!
Responder Con Cita
Gracias de parte de:
  #4  
Viejo 27/12/15, 16:26:23
Array

[xs_avatar]
juandqt juandqt no está en línea
Usuario poco activo
 
Fecha de registro: dic 2015
Mensajes: 2
Modelo de smartphone: iPhone 5s
Tu operador: Movistar
 Cita: Originalmente Escrito por beta tester Ver Mensaje
Me supongo que lo que quieres implementar es una especie de puntuación por estrellas, por lo que veo en la imagen.

Para ello, creo que la solución más sencilla sería colocar el número de estrellas máximo en el Layout correspondiente a cada uno de los elementos de la lista, supongamos 5 estrellas. Posteriormente, desde la Activity o Fragment correspondiente, ocultar las estrellas que no sean necesarias. Suponiendo que queramos mostrar, por ejemplo, 3 estrellas, sería algo así:

Código:
ImageView img1 = (ImageView) view.findViewById(R.id.estrella_1);
ImageView img2 = (ImageView) view.findViewById(R.id.estrella_2);
ImageView img3 = (ImageView) view.findViewById(R.id.estrella_3);
ImageView img4 = (ImageView) view.findViewById(R.id.estrella_4);
ImageView img5 = (ImageView) view.findViewById(R.id.estrella_5);

img1.setVisibility(View.GONE);
img2.setVisibility(View.GONE);
Saludos!
Lo has adivinado, ya esta, muchisimas gracias!
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 14:34:15 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /