Se il list model lo implementi tu estendendo AbstractListModel, la "struttura dati" puoi sceglierla e gestirla come ti pare, purché esponi le informazioni in modo coerente tramite i due metodi getSize e getElementAt. All'esterno non interessa come è "dentro" il list model ... basta che fornisca le informazioni a) quanti elementi ci sono e b) l'elemento all'indice X.Originariamente inviato da Cool81
E da quello che ho capito l'unico oggetto che s può passare alla listModel è un array di stringhe. Giusto?
Nel mio esempio di SearchableListModel la struttura dati è un ArrayList<String>.
Ci sono svariate soluzioni.Originariamente inviato da Cool81
Il problema è che devo ridimensionare l'array infoUsers. Questo inizialmente ha una dimensione pari alla List<Contact> che contiene degli elementi che poi devono essere esclusi dall'array di stringhe.
Quindi adesso il problema è ridimensionare l'array di stringhe.
Oppure mi creo un altro oggetto List, dove ci metto gli elementi della prima List che soddisfano la condizione, e poi uno il secondo oggetto List per riempire l'array di stringhe.
Che ne pensate?
Puoi tenere quel infoUsers come String[] e passare al list model array e numero "logico" di elementi (di cui il model ne deve ovviamente tenere presente ... non fare es. un for usando array.length!!)
Puoi tenere sempre quel String[], alla fine della tua elaborazione sai quanti elementi utili ci sono quindi istanzi un nuovo array String[] della giusta dimensione e ricopi tutti gli elementi (puoi farlo a "mano" o con System.arraycopy() ).
Puoi creare un altro ArrayList in cui inserire gli utenti e quindi passare al model il ArrayList.