2

En ce moment, je reçois mes modèles dans une belle forme orientée objet. Afin de les lier à ma liste, je dois utiliser le listAdapter. Puis-je seulement remplir ce listAdapter avec des ArrayLists stupides? Parce que cela signifie, je dois itérer sur mon ModelCollection et retirer à nouveau toutes les données de mes modèles. Donc, je détache mes données des modèles et je ne peux pas rafraîchir facilement les données dans ma listView, si quelque chose se présente dans le modelCollection (comme grossir avec de nouveaux items/pagination).Android: lier des données à un ListView sans préparer ArrayLists pour le ListAdapter?

Existe-t-il un moyen plus intelligent que celui que j'utilise actuellement? Puis-je lier plus ma ModelCollection à listView?

ModelCollection modelCollection = ModelCategory.findAll(); 

    /* 
    * Prepare Data for Adapter 
    */ 
    ArrayList<String> itemTitles = new ArrayList<String>(); 

    // Iterate over my ModelCollection and pull all the Data from each Model 
    for (int i = 0; i < modelCollection.items.size(); i++) { 

     if (modelCollection.items.get(i) != null) { 

     // TODO: Cant I bind my Models directly to the List without creating this ArrayList? 
     itemTitles.add(((ModelCategory) modelCollection.items.get(i)).getTitle());  

     } 
    } 

    /* 
    * Create Adapter and bind Array 
    */ 
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, itemTitles ); 
    setListAdapter(adapter); 

Une question de côté: Comment dois-je prolonger mon code, quand je veux ajouter des sous-titres petits sous le titre à la liste?

Répondre

0

Existe-t-il un moyen plus intelligent que celui que j'utilise actuellement?

Écrivez votre propre implémentation personnalisée ListAdapter, peut-être étendre BaseAdapter, qui fonctionne avec votre collection existante.

côté une question: Comment dois-je prolonger mon code, quand je veux ajouter des sous-titres petits sous le titre à la liste?

Votre getView() dans votre mesure ListAdapter mise en œuvre peut formater vos lignes comme vous le souhaitez, y compris l'utilisation de plusieurs morceaux de données.

+1

Je recommande ce tuturial: http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/ – OneWorld

Questions connexes