ListView con imagenes mias – android listview

Pregunta:


Tengo 10 imágenes y quiero ponerlas con ListView. Si fuera una activity, ya estaría hecho pues lo hice en una aplicación, pero ahora son Fragment.

    String[] menuItems = { "Do some","kkk",",,,,,","Do some","kkk",",,,,,","Do some","kkk",",,,,,","Do some","kkk",",,,,,","Do some","kkk",",,,,,"};


    ListView listView = (ListView) v.findViewById(R.id.mymenu);

    ArrayAdapter<String> listViewAdapter = new ArrayAdapter<String> (getActivity(),android.R.layout.simple_list_item_1,menuItems);

    listView.setAdapter(listViewAdapter);


    return v;

En vez de String[] sería poner algo tipo Drawable o similar para que me dejara cargar las fotos mediante R.drawable.photo1, R.drawable.photo2 . Sustituir la linea de texto, pero no sé cómo, o ¿cómo lo tendría que hacer ?

Preguntado por: Rf Mvs

Jorgesys

Todos los recursos en tu proyecto, estan definidos por valores tipo entero los cuales puedes ver dentro de tu archivo R.java.

Si los valores son enteros, procede a crear un valor tipo entero conteniendo la referencia de tus imagenes contenidas en sl folder /drawable:

int[] imagenes = {R.drawable.photo1, R.drawable.photo2, R.drawable.photo3 ...};

De esta forma puedes obtener un Drawable del recurso y agregarlo a un ImageView dentro de los elementos en tus ListView, esto se realiza generalmente en el adapter dentro del método getView(), tomando la variable position como indice para acceder a la imagen correspondiente:

//Asigna el Drawable al ImageView.
imageView.setImageDrawable(imagenes[position]);

Para esto necesitas crear un customadapter. Como ejemplo puedes usar el comentado en este articulo que tiene un ejemplo completo.

Ejemplos:

introducir la descripción de la imagen aquí

Deberias de crear un adapter para cargar las imagenes ya que por defecto las ListView solo pueden cargar texto.

Puedes hacerlo creando una vista en res/layout/ con el nombre de listview_img.xml. A esta vista solo le definimos un ImageView:

<ImageView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="100dp" />

Ahora en tu activity, solo tendrias que crear un array con los recursor e implementar el adapter:

// obtenemos el listview 
ListView listView = (ListView) findViewById(R.id.listview);

// definimos las imagenes que cargara el listview
final int[] resources = {R.drawable.screenshot, R.drawable.cloud_outline_icon_8, R.drawable.screenshot, R.drawable.cloud_outline_icon_8};

// le asignamos el adapter que se encargara de cargar la vista de la imagen y asignarle el id del recurso al ImageView
listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_2) {

        @Override
        public int getCount() {
            return resources.length; // le indicamos la cantidad de elementos que va a cargar
        }

        @NonNull
        @Override
        public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {

            if(convertView == null)
            {
                // cargamos la vista 
                convertView = ((LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE)).inflate(R.layout.listview_item, parent, false);
            }

            // como la vista es un ImageView lo convertimos y le asignamos el id del recurso
            ((ImageView)convertView).setImageDrawable( ActivityCompat.getDrawable( MainActivity.this, resources[position]));


            return convertView; // retornamos la vista
        }
});

Este seria el resultado:

introducir la descripción de la imagen aquí

Fuente

Related Posts:

Girar Rectángulo con LibGDX – android libgdx
Pregunta: Estoy haciendo un programilla de prueba que se compone de : 4 botones , arriba, abajo, izquierda y derecha. Una nave espacial, formada por un ...
Botones con android y LibGDX – android libgdx
Pregunta: Buenas, he creado un pequeño boton en android, con libGDX muy sencillo, pero el problema es el siguiente: Le tengo asignada una funcion que escribe ...
¿Location manager Android? Experiencias – android mysql android-studio
Pregunta: He desarrollado una aplicación Gps que envía información a Mysql cada 10 seg atraves de locationmanager. ¿Según su experiencia hasta cuanto es posible disminuir ...
Crear cuenta regresiva N segundos mientras se visualiza una Activity en Android – java android
Pregunta: Quiero implementar una cuenta regresiva de N segundos, que se inicie cuando la Activity se muestre, se pare el contador cuando el usuario decide ...
Crear prototipos para aplicaciones Android – android prototipos
Pregunta: estoy interesado en optar por una herramienta que me sea bastante util para poder realizar prototipos de aplicaciones móviles, especificamente para Android. Empece buscando ...
¿Como Se Instala Un Apk Y Como Se Ve Despues? – android
Pregunta: Tengo una duda sobre que pasa con ese archivo apk una vez instalado si se queda como uno solo o se separa en fragmentos ...
¿Como usar la clase Intent para mostrar las apps del usuario – android android-intent
Pregunta: Quiero que mi app muestre las aplicaciones del usuario en un ListView. He tratado de investigar y me salio en ingles la mención a esta ...
Calcular distancia entre dos coordenadas android – android
Pregunta: quisiera saber como puedo hallar la distancia entre 2 coordenadas en kilómetros en trayecto vía automóvil, estoy usando la API de google maps. Agradezco cualquier ...
¿Cómo puedo crear una aplicación Android que no se pueda cerrar así como WhatsApp? – android android
Pregunta: Esta pregunta ya tiene una respuesta aquí: ...
Spinner y EditText – java android
Pregunta: Tengo este código para cargar un spinner con datos de una base de datos: private class Getfrutas extends AsyncTask<Void, Void, Void> { ...
Crear listview en un Fragment en android – android
Pregunta: Estoy creando una aplicación en la cual incluyo un listview, en un Fragment. Dicho listview ya lo había ejecutado en un activity normal y ...
¿ Por qué se me detiene la aplicación al usar este pequeño código? – java android bottombar
Pregunta: Tengo un bottomBar donde tengo 5 opciones, la última es la del mapa de google API. Mi problema es que al hacer click en ...
¿ Cómo implemento este código para android 6.0? – java android
Pregunta: Tengo en un Fragment implementado el Google API y FUNCIONA. Pero funciona en mis 3 móviles que son jellybean, kitkat y lollipop. El ...
¿Cómo guardar un ImageView en Android? – java android
Pregunta: Mi aplicación está compuesta por un botón y un ImageView y cuando se aprieta el botón la ImageView recibe una imagen que tengo en ...
¿Como Se Puede Almacenar Una Imagen En Una Base De Datos SqlLite? – android
Pregunta: Quiero saber si es posible almacenar una imagen en una base de datos Sql Lite. Gracias. Preguntado por: PowerApp La imagen se guardaría ...

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *