Мне нужно заполнить listview
пользовательскими элементами arraylist
.Прежде чем пытаться получить его из моего API, я создал фиктивный массив с другим значением, применимым к адаптеру.Количество элементов, которые я положил туда, равно шести.Проблема в том, что элементы после четвертого повторяют заголовок, который является единственной переменной моего пользовательского объекта, перезапуская его с самого начала.результирующий список не 1-2-3-4-5-6, а 1-2-3-4-1-2.
МОЙ ПОЛЬЗОВАТЕЛЬСКИЙ АДАПТЕР
public class librettoAdapter extends ArrayAdapter<librettoDTO> {
Context context;
public librettoAdapter(Context context, int risorsaId,
List<librettoDTO> items) {
super(context, risorsaId, items);
this.context = context;
}
//metodo getView --> ritorna la view da inserire nella ListView
public View getView(int position, View convertView, ViewGroup parent) {
//controllo se c'è gia un layout
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = mInflater.inflate(R.layout.libretto_element, null);
librettoDTO content = getItem(position);
TextView textTitolo = convertView.findViewById(R.id.nome_materia);
textTitolo.setText(content.getTitolo());
}
return convertView;
}
}
НАСЕЛЕНИЕ СПИСКА
inputItems = new ArrayList<librettoDTO>();
/** RITORNA LA CHIAAMATA*/
/** SOTITUIRE CON LIBRETTODTO */
/* FACCIAMO FINTA CHE SIA IL RISULTATO DELA CHIAMATA */
librettoDTO source1 = new librettoDTO("titolo1");
librettoDTO source2 = new librettoDTO("titolo2");
librettoDTO source3 = new librettoDTO("titolo3");
librettoDTO source4 = new librettoDTO("titolo4");
librettoDTO source5 = new librettoDTO("tsdasdadssa");
librettoDTO source6 = new librettoDTO("6666666");
inputItems.add(source1);
inputItems.add(source2);
inputItems.add(source3);
inputItems.add(source4);
inputItems.add(source5);
inputItems.add(source6);
contentItems = new ArrayList<librettoDTO>();
for (int i = 0; i < inputItems.size(); i++) {
//librettoDTO item = new librettoDTO(titoli[i]); //INIT DTO GET FROM ARRAY LIST
librettoDTO item = inputItems.get(i);
contentItems.add(item);
//setto la listview e istanzio l'adapter che si prende lo stile xml e l'arraylist di content
librettoAdapter adapter = new librettoAdapter(getContext(),
R.layout.libretto_element, contentItems);
listView = (ListView) v.findViewById(R.id.libretto_listview);
listView.setAdapter(adapter);
//setto il listener
//listView.setOnItemClickListener(this);
}