I'm trying to implement a Spinner, but at the time of deploying it only appears the first element of all that should appear in the spinner. For example, if it is a spinner of curricula of people in which it appears name photo and text, it would only appear to me when displaying only the first and not all. Here I leave my code:
// MAIN
package com.example.tonij.a4bimplementaelusomascorrientes;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Spinner;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private ArrayList<Persona> listaDePersonas= new ArrayList<>();
private Spinner spinner;
private SpinnerPersonas sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
llenarArray();
spinner= (Spinner)findViewById(R.id.spinner);
sp= new SpinnerPersonas(this, listaDePersonas);
spinner.setAdapter(sp);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
public void llenarArray(){
int[] arrayImagenes={R.drawable.persona1,R.drawable.persona2,R.drawable.persona3,R.drawable.persona4};
String[] arrayNombres= {"Ana, Jonathan, Pablo, Alberto"};
String[] arrayApellidos={"Sanchez","Losa","Santos","Marti"};
String[] arrayEdad={"22","24","18","28"};
String[] arrayEstudios={"Ninguno.","Teleco.","Bachiller.","Marketing."};
String[] arrayTrabajos={"Ninguno.","Inspector de telecomunicaciones.","Dependiente.","Asistente telefonico."};
for(int i=0; i<1; i++){
listaDePersonas.add( new Persona(arrayImagenes[i],
arrayNombres[i],
arrayApellidos[i],arrayEdad[i],arrayEstudios[i],arrayTrabajos[i]));
}
}
}
// CLASS OF THE SPINNER
package com.example.tonij.a4bimplementaelusomascorrientes;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import java.util.ArrayList;
public class SpinnerPersonas extends ArrayAdapter<Persona> {
public SpinnerPersonas(Context context, ArrayList<Persona> listaPersonas){
super(context,0,listaPersonas);
}
@Override
public View getView(int position, View convertView,ViewGroup parent) {
return initView(position, convertView, parent);
}
@Override
public View getDropDownView(int position,View convertView,ViewGroup parent) {
return initView(position, convertView, parent);
}
public View initView(int position,View convertView,ViewGroup parent){
if(convertView==null){
convertView= LayoutInflater.from(getContext()).inflate(
R.layout.spinner,parent,false
);
}
ImageView imagen= convertView.findViewById(R.id.imagenSpiner);
Persona persona= getItem(position);
if(persona!=null){
imagen.setImageResource(persona.getImg());}
return convertView;
}
}
// CLASS PERSON (THE OBJECT THAT IMPLEMENTS THE SPINNER)
package com.example.tonij.a4bimplementaelusomascorrientes;
public class Persona {
private int img;
private String nombre, apellidos, edad, estudios, trabajo;
public Persona(int img, String nombre, String apellidos, String edad, String estudios, String trabajo){
this.img= img;
this.nombre= nombre;
this.apellidos= apellidos;
this.edad= edad;
this.estudios= estudios;
this.trabajo= trabajo;
}
//GETTERS Y SETTERS
public int getImg() {
return img;
}
public void setImg(int img) {
this.img = img;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellidos() {
return apellidos;
}
public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}
public String getEdad() {
return edad;
}
public void setEdad(String edad) {
this.edad = edad;
}
public String getEstudios() {
return estudios;
}
public void setEstudios(String estudios) {
this.estudios = estudios;
}
public String getTrabajo() {
return trabajo;
}
public void setTrabajo(String trabajo) {
this.trabajo = trabajo;
}
}
// SPINNER LAYOUT
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="200dp"
android:layout_height="200dp"
android:orientation="vertical"
android:layout_marginTop="15dp"
android:layout_marginLeft="15dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nombre"
android:textSize="25dp"
android:textColor="#000"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Apellidos"
android:textSize="25dp"
android:textColor="#000"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Edad"
android:textSize="25dp"
android:textColor="#000"
/>
<ImageView
android:layout_height="100dp"
android:layout_width="100dp"
android:id="@+id/imagenSpiner"
/>
</LinearLayout>
//LAYOUT DEL MAIN
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<Spinner
android:layout_marginLeft="15dp"
android:layout_marginTop="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/spinner"
/>
</LinearLayout>
MANY THANKS FROM ANTEMANO < 3