         
         //Add a keyDown event listener so we can adjust
         //selection accordingly.  
-        addEventListener(KeyboardEvent.KEY_DOWN, list_keyDownHandler);
+        addEventListener(KeyboardEvent.KEY_DOWN, list_keyDownHandler, true);
     }
     
     //--------------------------------------------------------------------------

    
    /**
     *  @private
     */
    private function list_keyDownHandler(event:KeyboardEvent):void
    {
    	switch (event.keyCode)
        {
            case Keyboard.UP:
            {
            	if (layout is VerticalLayout)
            		if (selectedIndex > 0)
            			selectedIndex--;
            	break;
            }
            case Keyboard.DOWN:
            {
            	if (layout is VerticalLayout)
            		if (selectedIndex < (dataProvider.length - 1))
            			selectedIndex++;
                break;
            }
            case Keyboard.LEFT:
            {
            	if (layout is HorizontalLayout)
            		if (selectedIndex > 0)
            			selectedIndex--;
            	break;
            }
            case Keyboard.RIGHT:
            {
            	if (layout is HorizontalLayout)
            		if (selectedIndex < (dataProvider.length - 1))
            			selectedIndex++;
            	break;
            }
            default:
            {
            	//make sure keyDown handlers set in tag are clled 
                event.stopPropagation();
            }
        }
    }
  

import mx.components.baseClasses.FxListBase;
import mx.core.ClassFactory;
import mx.events.ItemExistenceChangedEvent;
import mx.layout.HorizontalLayout;
import mx.layout.VerticalLayout;
import mx.skins.spark.FxDefaultItemRenderer;
