Ich habe das folgende Problem.Problem beim Abrufen der QuickInfo zum Aktualisieren auf einem itemRenderer in Flex
Ich habe eine Arraycollection, die für eine TileList (genannt favoriteLinksList)
ich als Datenprovider benimmt verwenden ein itemRenderer FavoriteItem als der TileList des itemRenderer genannt. Diese FavoriteItem sieht wie folgt aus:
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
width="280" height="163"
horizontalAlign="center"
paddingLeft="5" paddingRight="5" paddingTop="0" paddingBottom="0" xmlns:ns1="*">
<mx:Canvas width="100%" height="100%">
<mx:Image
id="thumbnail"
width="178" height="115"
source="{data.thumbnail}"
toolTip = "{data.tooltip}" x="46" y="10"/>
<mx:Text
id="title"
text="{data.tileListTitle}"
width="254"
toolTip="{data.tooltip}" x="10" y="133"/>
</mx:Canvas>
</mx:VBox>
Wie Sie die Tooltips für die beiden Elemente darin sehen von data.tooltip
fein Das funktioniert getroffen werden.
Das Problem besteht darin, den Tooltip zu aktualisieren, wenn er sich geändert hat.
Die Objekte (vom Typ Object) in der Arraycollection haben jeweils eine Eigenschaft Tooltip genannt (offensichtlich, da das ist, wo die itemRenderer seine Informationen aus bekommen).
Wenn ich diese Eigenschaft auf den neuen Wert zu ändern, der Tooltip des itemRenderer ändert sich nicht, dies zu reflektieren.
Ich versuchte es manuell einstellen, indem Sie die itemRenderer von der Veranstaltung erhalten, die nach dem Klicken auf eines der Elemente in dem TileList ausgelöst wird, aber ohne Erfolg.
Beispiel:
event.itemRenderer.title.toolTip = event.currentTarget.selectedItem.tooltip;
nach dem Tooltip aktualisiert hat, aber das gibt einen Kompilierungsfehler: Zugang von möglicherweise nicht definierte Eigenschaft Titel über einen Verweis mit statischem Typ mx.controls.listClasses: IListItemRenderer.
Ich habe auch versucht, eine Aktualisierung() auf der favoriteLinksList Array Sammlung durchführen, aber diese gemischte Ergebnisse gab. Der Tooltip wurde korrekt aktualisiert, aber eines der Elemente (das erste) in der Fliesenliste ist verschwunden! Dies scheint ein Flex-Bug zu sein. Der Datenprovider hat die gleiche Anzahl von Elementen vor und nach der Aktualisierung und dies geschieht nicht, wenn ich auf das erste Element in der Liste klicke.
Alle Hilfe wird sehr geschätzt.
aus irgendeinem Grund war der Code, den ich eingefügt habe, nicht korrekt formatiert. Hier ist ein Link zum Code: http://pastie.org/1341113 – KensoDev
Ich bekomme "kann nicht auf die Eigenschaft eines Null-Objekt-Verweis zugreifen" für title.toolTip = data.tooltip Gedanke, die Daten in Wert zu ändern, so dass es title.toolTip = ist value.tooltip aber immer noch keine Freude :( Die favoriteLinksList ist [Bindable] und Änderungen daran beim Start der Anwendung spiegeln sich korrekt in TILELIST. Das Problem ist nachträgliche Änderungen daran. –
Realisiert, dass, obwohl die favoriteLinksList bindbar und als Dataprovider zur TileList, Änderungen an den einzelnen Objekten dürfen nicht in die TileList übernommen worden sein.Eine Lösung gefunden und unten aufgeführt: –