Bonjour !

Je suis actuellement en train de buter sur une des méthodes de TextEdit (setCompoundDrawables pour vous dénoncer la coquine).
Je m'explique :
Je code une ListView personnalisé, chaque item possede une petite image (une fleche vers le haut ou vers le bas) suivit d'un petit texte (un montant) : http://puu.sh/9HT1X/2f05b841d2.jpg
Tout marchait pour le mieux alors que j'utilisais sur mon TextView (montantContact)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
montantContact.setCompoundDrawables(R.drawable.arrow_up, 0, 0, 0);
Hélas, j'ai eu l'idée de changer la couleur de ma fleche. Au lieu de directement assigner ma ressource à mon texte, il fallait d'abord que je récupere mon Drawable pour ensuite lui appliquer un filtre.

J'ai donc transformer ma petite ligne du dessus en :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Drawable fleche = getContext().getRessources().getDrawable(R.drawable.arrow_up);
//Ici je pourrais appliquer mes filtres sur fleche
montantContact.setCompoundDrawables(fleche, null, null, null);
L'application tourne, il n'y a pas d'erreur, sauf l'affichage qui est incorrect :
http://puu.sh/9I3i5/5ece850ec2.jpg

Voici la classe dans laquelle je suis et qui étend ArrayAdapter<> (Vous trouvez le code du dessus à la ligne 63) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package fr.binou.alphaloan.interfaces;
 
import java.util.ArrayList;
 
import android.content.Context;
import android.graphics.Color;
import android.graphics.PorterDuff.Mode;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.QuickContactBadge;
import android.widget.TextView;
import fr.binou.alphaloan.R;
import fr.binou.alphaloan.modeles.FicheTransactions;
import fr.binou.alphaloan.modeles.Nature;
 
public class ListViewFiches extends ArrayAdapter<FicheTransactions>{
 
	private LayoutInflater inflater;
 
	public ListViewFiches(Context context, ArrayList<FicheTransactions> fiches){
		super(context, R.layout.fiche_adapter, fiches);
		inflater = LayoutInflater.from(context);
	}
 
	public View getView(int position, View convertView, ViewGroup parent){
		LinearLayout layoutItem;
 
		if(convertView ==null){
			layoutItem = (LinearLayout) inflater.inflate(R.layout.fiche_adapter, parent, false);
		}
		else{
			layoutItem = (LinearLayout) convertView;
		}
 
		QuickContactBadge photoContact = (QuickContactBadge) layoutItem.findViewById(R.id.photoContact);
		TextView nomContact = (TextView) layoutItem.findViewById(R.id.nomContact);
		TextView montantContact = (TextView) layoutItem.findViewById(R.id.montantContact);
 
		FicheTransactions fiche = getItem(position);
 
		photoContact.setImageResource(R.drawable.photodefaut);
 
		nomContact.setText(fiche.getContact().getPseudo());
 
		//Texte du montant
		montantContact.setText("  " + String.valueOf(fiche.getMontant()) + "€");
 
		/*
		//Couleur de la fleche
		int couleurFleche;
		if(fiche.getMontant() < 10)
			couleurFleche = Color.parseColor("#00FF00");
		else if(fiche.getMontant() < 20)
			couleurFleche = Color.parseColor("#FF7F00");
		else
			couleurFleche = Color.parseColor("#FF0000");
		*/
 
		Drawable fleche;
 
		if(fiche.getNature() == Nature.ENTRANT)
			fleche = getContext().getResources().getDrawable(R.drawable.arrow_up);
		else
			fleche = getContext().getResources().getDrawable(R.drawable.arrow_down);
 
		//fleche.setColorFilter(couleurFleche, Mode.MULTIPLY);
 
		montantContact.setCompoundDrawables(fleche, null, null, null);
 
 
		return layoutItem;	
	}
 
}
Sachant que dans mon activité j'ai bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
		ListViewFiches adapter = new ListViewFiches(this, donnees.getFichesTransactions());
		listeFiche.setAdapter(adapter);
J'ai cherché sur notre moteur de recherche préféré, en anglais, en français mais je n'ai peut être pas cherché les bons mots clés...
Si quelqu'un peut m'aider, a besoin de plus de précision pour m'aider, a un avis à emmètre même si ça ne concerne pas mon problème, ou tout simplement me rediriger, je serai ravi de l'écouter !

Merci beaucoup pour votre aide !