Bonjour,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<s:List itemRenderer="userList" id="listUsers" dataProvider="{Users}" click="userClicked()" skinClass="skin.userList" focusEnabled="false"/>
Pour gérer une liste d'utilisateur, je souhaiterai modifier a la volée le "currentState" d'un élément de cette liste, j'ai testé 2 approches différentes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
List(listUsers.getChildAt(i)).currentState = 'hover';
(fonctionne pas )

et l'édition du dataprovider, cette solution marche, mais je la trouve vraiment pas propre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
for(var i=0;i<Users.length;i++)
{
	if (Users[i].id == myId)
	{
		//List(listUsers.getChildAt(i)).currentState = 'hover';
		var tmp:Object = Users[i]; // Copie.. :s
		tmp.hover = true;
		Users[i] = tmp; // Màj forcé .. de tout les éléments
		break;
	}
}
Puis dans l'itemRenderer je check si hover=true pour adapter le CurrentState.

A noter que : Users (mon dataprovider) est un ArrayCollection d'objet, donc non directement Bindable non ? (où alors j'ai raté un chapitre :$)

De façon générale il faudrait que je trouve une méthode d’accès aux éléments crée par mon itemRenderer. Est-ce que quelqu'un aurait la solution ?

Bon appétit