![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 58
|
Обыскал переискал,прочитал перечитал,так и не понял какой аргумент надо пихнуть в removeItem чтобы он удалил его, в данном примере я пытаюсь пихнуть ему имя из созданного ранее элемента aList.addItem({label:all_user[i], data:all_user[i]});
|
|
|||||
|
Регистрация: Sep 2008
Адрес: Москва
Сообщений: 224
|
вместо removeItem() нужно removeItemAt(), а индекс ищем.
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 58
|
я думал насчёт removeItemAt() но как мне получить индекс ??? как мне пробежаться по всем элементам и узнать их имена ?
|
|
|||||
|
Регистрация: Sep 2008
Адрес: Москва
Сообщений: 224
|
Если уж точно никак ссылку на объект не достать, то:
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 58
|
сделал оп вашему принципу,не помогло(
if (msg.substring(0,18)=="send_client_logout"){ var user_logout:Array = msg.substring(0,msg.indexOf(" ")).split("&"); for (var aun:uint = aList.length;aun > 0;aun--) { if (aList.getItemAt(i).name == user_logout[1]) { aList.removeItemAt(i); } } chatWindow.appendText(user_logout[1]); vScrollBar.update(); } |
|
|||||
|
Регистрация: Sep 2008
Адрес: Москва
Сообщений: 224
|
Мой способ находит индекс в ArrayCollection по свойству name, а у вас в каком свойстве имя записано?
Теперь лекция :- код нужно не просто копировать. - код нужно оформлять. |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 58
|
вот что у меня
public var aList:List = new List(); aList.setSize(160, 125); aList.move(29.3,39.4); addChild(aList); if (msg.substring(0,16)=="send_client_name"){ var nick:String = msg.substring(16,msg.indexOf("\n")); aList.addItem({label:nick, data:nick}); } Добавлено через 49 минут я как бы уже сделал чтобы мне сервер посылал нужный индекс,так как серверу легче его вычислить а распарсить в клиенте не проблема. но если не трудно то на будущее интересно было бы узнать как в АС найти индекс. |
|
|||||
|
Регистрация: Sep 2008
Адрес: Москва
Сообщений: 224
|
перебором элементов контейнера.Обращение к объекту в АС всегда осуществляется либо прямо по ссылке, либо перебором(массив), других способов нет.
У нас есть List у которого в модели существует объект с полем label, и есть поле label обекта который мы должны удалить. Идём в help: для Flash IDE: У листа есть методы: getItemAt(index:int):Object; removeItemAt(index:int):Object; removeItem(value:Object):Object; и свойство length Т.е. мы можем получить по индексу объект модели. начинаем перебирать от 0 до length-1 и сверять поле label с нам нужным значением. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|