Flex ArrayCollection getItemIndex всегда -1 - PullRequest
0 голосов
/ 01 марта 2011

У меня вопрос, почему это не работает?

У меня есть ArrayCollection с данными; след случайного индекса этого с использованием

ObjUtil.toString(arrc.getItemAt(index))

дает мне

(Object)#0  
  label = "VALUE"  
  value = 20  

Затем я создаю объект:

var newObj:Object = new Object()  
newObj.label = "VALUE"  
newObj.value = 20  

След этого дает:

(Object)#0  
  label = "VALUE"  
  value = 20  

Теперь я делаю:

arrc.getItemIndex(newObj)  

и это всегда дает мне -1. ​​

Кто-нибудь знает, где я иду не так?

Ответы [ 2 ]

1 голос
/ 01 марта 2011

Просто немного пояснений .. Вы на самом деле не добавляете этот объект в коллекцию? Вы создаете объект, который совпадает с объектом в коллекции, и используете его для получения индекса?

newObj - это не то же самое, что объект в коллекции array .. они просто имеют одинаковые значения. Метод getItemIndex будет «находить» объект только в том случае, если это фактически один и тот же объект (он не собирается анализировать и сравнивать переменные-члены).

0 голосов
/ 01 марта 2011

getItemIndex ищет тот же элемент * (1003 *) (экземпляр), а не равный элемент с равными значениями свойств.

...