2011-12-12 2 views
2

J'ai un Listview qui répertorie les travaux dans mon application Android. Je veux colorer les lignes en fonction de leur type de travail. Ci-dessous le code que j'utilise pour configurer la Listview.Définition séparée de la couleur d'arrière-plan de chaque ligne dans une vue en liste

startManagingCursor(cursor); 
    adapter = new SimpleCursorAdapter(this, R.layout.menu_item, cursor, FROM, TO); 
    menuList.setAdapter(adapter); 

Vous trouverez ci-dessous la disposition Xml pour les éléments Listview. Comment puis-je configurer Listview pour afficher chaque ligne de la couleur relative à sa catégorie de travail.? Puis-je le faire sans utiliser un adaptateur personnalisé?

+3

Je pense que vous ne pouvez pas le faire sans un adaptateur personnalisé ... vous devez écrire votre propre SimpleCursorAdapter ... – krackmoe

+0

Utilisez un adaptateur personnalisé pour cela .. – user370305

Répondre

1

Voici un exemple pour vous: Android – Applying Alternate Row Color in ListView with SimpleAdapter.

Définissez un adaptateur personnalisé identique à l'exemple ci-dessus, et vous devez définir une condition pour vérifier le type de travail dans la méthode getView() et, en fonction de cela, vous pouvez appliquer différentes couleurs d'arrière-plan.

+0

Merci pour l'exemple. J'ai ajouté un adaptateur personnalisé en utilisant le code suivant public Lectures_Adapter (Context context, Liste > éléments, int resource, String [] de, int [] to) { super (contexte, éléments, ressource , de à); this.data = articles; } Lorsque j'essaie de l'appeler, j'obtiens une erreur lorsque j'essaie de modifier l'exemple en utilisant mes données. Mes données proviennent d'une table Sqlite et sont chargées dans un curseur. L'erreur veut que je change de curseur en le convertissant en List > – user616076

+1

Je l'ai trié, mon adaptateur étendait SimpleAdapter au lieu de SimpleCursorAdapter mais votre solution a fonctionné pour moi. Je vous remercie – user616076

Questions connexes