Sto utilizzando un ArrayAdapter per aggiungere elementi a un ListView personalizzato e mostrare i risultati nella mia app per Android. Il problema che sto avendo è che l'ArrayAdapter sembra aspettare fino a quando tutti gli elementi sono in esso prima che mostri la vista. Vale a dire, quando aggiungo gli elementi all'ArrayAdapter e chiamo notifyDataSetChanged, non aggiorna il ListView per mostrare l'elemento aggiunto. Aspetta fino a quando non vengono aggiunti tutti gli elementi e GetView viene chiamato prima di mostrare gli elementi.Android - Aggiunta e visualizzazione di elementi a ListView uno alla volta utilizzando un ArrayAdapter
Quello che vorrei fare è mostrare l'elemento immediatamente dopo averlo aggiunto a ListView. È possibile?
credo che il codice in questione è la seguente:
r_adapter = new ReminderAdapater(Activity_ContentSearch.this, R.layout.search_listitem, myList);
listView.setAdapter(r_adapter);
...
r_adapter.notifyDataSetChanged();
r_adapter.clear();
for(int i = 0; i < myList.size(); i++)
{
r_adapter.add(myList.get(i));
r_adapter.notifyDataSetChanged();
}
Come si può vedere, anche se io chiamo notifyDataSetChanged dopo il metodo Add, che in realtà non aggiornare la visualizzazione. Dopo aver terminato il ciclo sopra riportato, la vista viene finalmente aggiornata (in base a ciò che so, perché GetView non viene chiamato fino a quando non viene completata questa sezione del codice).
Ho provato a ignorare il metodo di aggiunta del mio ArrayAdapter personalizzato senza fortuna, dal momento che non ho accesso alla vista in quel metodo.
Qualsiasi aiuto sarebbe gradito :)
Bara