|
||
|
|
|
|||||||
| 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 |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
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);
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;
}
}
![]() saludos |
|
|
|
#2
|
||||
|
||||
|
¡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.
|
|
#3
|
||||
|
||||
|
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);
|
| Gracias de parte de: | ||
|
#4
|
||||
|
||||
|
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); ![]() ![]()
|
![]() |
Estás aquí
|
||||||
|
||||||