tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
1943
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von cr4shm4n
    cr4shm4n cr4shm4n ist offline Mitglied Silber
    Registriert seit
    Jul 2006
    Beiträge
    73
    Hallo,
    ich bastele gerade an einer kleinen Flex-Anwendung, in der eine Liste mit Elementen vorkommt, die abhängig von den jeweiligen Inhalten eingefärbt werden sollen. Dazu steht im Datenobjekt eine Eigenschaft namens color, auf die ich dann in einem eigenen itemRenderer zugreife.
    Der Text wird über die toString-Funktion des Datenobjekts generiert.
    Hier noch der Codeausschnitt mit dem itemRenderer:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    <mx:List id="shoutListControl" dataProvider="{shoutList}"
        styleName="shoutList" variableRowHeight="true"
        verticalScrollPolicy="on" horizontalScrollPolicy="off" selectable="false"
        left="0" top="25" bottom="0" right="0" textAlign="left" labelFunction="shoutToString">
        <mx:itemRenderer>
            <mx:Component>
                <mx:HBox backgroundColor="{data.color}"
                    backgroundAlpha="1.0" styleName="shoutListItem" width="{this.width-2}">
                    <mx:Text id="shoutText" styleName="shoutBody" width="100%" htmlText="{data}"/>
                </mx:HBox>
            </mx:Component>
        </mx:itemRenderer>
    </mx:List>

    So, damit komme ich zum eigentlichen Problem. Auf den ersten Blick scheint beim aufrufen zwar alles in Ordnung, aber sobald man scrollt, erscheinen leere Einträge (die allerdings korrekt eingefärbt sind). Mit ein wenig herumscrollen schafft man es manchmal, die Einträge zu füllen, was zu einem unerträglichen herumhüpfen der Scrollleiste führt.

    Ein Lösungsversuch sah so aus:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    <mx:List id="shoutListControl" dataProvider="{shoutList}"
        styleName="shoutList" variableRowHeight="true"
        verticalScrollPolicy="on" horizontalScrollPolicy="off" selectable="false"
        left="0" top="25" bottom="0" right="0" textAlign="left" labelFunction="shoutToString">
        <mx:itemRenderer>
            <mx:Component>
                <mx:HBox creationComplete="init();"
                    backgroundAlpha="1.0" styleName="shoutListItem" width="{this.width-2}">
                    <mx:Script>
                        <![CDATA[
                            public function init():void
                            {
                                shoutText.htmlText = data.toString();
                                this.setStyle("backgroundColor", data.color);
                            }
                        ]]>
                    </mx:Script>
                    <mx:Text id="shoutText" styleName="shoutBody" width="100%"/>
                </mx:HBox>
            </mx:Component>
        </mx:itemRenderer>
    </mx:List>
    Das führt dazu, dass die Einträge von der ersten Seite beim runterscrollen einfach nochmals in der gleichen Reihenfolge erscheinen.

    Hat da jemand Lösungsansätze?
     

  2. #2
    Avatar von cr4shm4n
    cr4shm4n cr4shm4n ist offline Mitglied Silber
    Registriert seit
    Jul 2006
    Beiträge
    73
    Ok, ich habs inzwischen aufgegeben, es so zu versuchen. Meine neuer, funktionierender Ansatz lautet: Einfache VBox nehmen, den Rest mit eigenem Code Managen. Funktioniert jetzt einwandfrei. Für die Elemente selbst habe ich eine Extra-Komponente erstellt.
     

Ähnliche Themen

  1. Horizontale Liste wie bei sevenload scrollen?
    Von finkenmann im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 31.07.07, 01:38
  2. Anfänger hat Probleme mit dem scrollen
    Von Oldie2006 im Forum HTML & XHTML
    Antworten: 4
    Letzter Beitrag: 22.09.06, 16:25
  3. Probleme beim scrollen
    Von kingafro im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 21.07.05, 13:47
  4. Antworten: 4
    Letzter Beitrag: 05.02.05, 22:17
  5. Probleme mit dem Scrollen
    Von thebestmaster im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 15.03.04, 14:47