flex - एडोब एयर: स्क्रॉलर त्रुटि को फेंकता है जब विभिन्न अनुप्रयोगों के बीच परिवर्तन फ़ोकस होता है




air flex4 (3)

मुझे अपनी एक परियोजना में एक ही समस्या मिल गई है और ऐसा लगता है कि यह एसडीके के ज्ञात बग है मेरे मामले में मैंने कस्टम स्क्रॉलर क्लास लिखा है, जहां फोकस में प्रबंधक! = नल की जांच कुछ इस तरह

package components
{
    import flash.events.FocusEvent;
    import spark.components.Scroller;
    public class MyScroller extends Scroller
    {
        public function MyScroller()
        {
            super();
        }

        override protected function focusInHandler(event:FocusEvent):void
        {
            if(focusManager != null) {
                super.focusInHandler(event);
            }
        }
    }
}

बेस्ट रेफैड, रोमन

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at spark.components::Scroller/focusInHandler()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\Scroller.as:2139]
    at flash.display::Stage/set focus()
    at mx.core::UIComponent/setFocus()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:9905]
    at spark.components::RichEditableText/setFocus()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\RichEditableText.as:3126]
    at spark.components.supportClasses::SkinnableTextBase/setFocus()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\supportClasses\SkinnableTextBase.as:1874]
    at mx.managers::FocusManager/activateWindowHandler()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\FocusManager.as:740]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
    at spark.components::WindowedApplication/nativeWindow_activateHandler()[E:\dev\4.y\frameworks\projects\airspark\src\spark\components\WindowedApplication.as:2739]

मेरे एडोब एयर कार्यक्रम में, मुझे उपरोक्त त्रुटि मिलती है, जब भी मैं अपने ऐप का उपयोग करता हूं, और इस एप और अन्य अनुप्रयोगों के बीच फ़ोकस करने पर स्विच करता हूं। (मैंने कई बार कोशिश की है और यह त्रुटि प्रतिलिपि प्रस्तुत करने योग्य है।)

इस समस्या का क्या कारण है और इसे कैसे ठीक करें?

संपादित करें: मेरे प्रोग्राम में एक स्टैकव्यूव है, और स्टैक -्यूव्यू में से कोई एक सूची है। उपरोक्त यह त्रुटि तब होगी जब सूची में कम से कम एक ऑब्जेक्ट होगा


मैं एक ही समस्या में गया, और मूल कारण यह था कि PopUpManager / PopUpAnchor फ़ोकस प्रबंधक को ठीक से सेट नहीं करेगा अगर घटक को पॉप अप किया गया IFocusManagerContainer इंटरफ़ेस को लागू नहीं करता है। इस तरह के इंटरफ़ेस को लागू करने के बाद, समस्या दूर हो जाती है।


मुझे पता है यह पुराना है लेकिन यह एक ऐसा समाधान है जो मेरे लिए काम करता है

dataGrid.scroller.addEventListener(FocusEvent.FOCUS_IN, dataGridFocusInHandler, false, 1);

तथा

protected function dataGridFocusInHandler(event:FocusEvent):void {
    if(dataGrid.scroller.focusManager == null) {
        event.stopImmediatePropagation();
    }
}

यह भी एक सूची मैं लागू करने के लिए लागू किया जा सकता है

चीयर्स एडज़