سؤال

أحتاج إلى إزالة تنبيه برمجيا.

هذا هو السبب: يستخدم تطبيقي BrowserManager لتمكين الارتباط العميق المبني للمحتوى في الجزء #hash من عنوان URL. إذا كان التنبيه هو حاليا، فإن المستخدم يضرب الزر الخلفي، سيعود التطبيق إلى حالته السابقة. لكن التنبيه سيظل مرتفعا، وفي كثير من الحالات غير ذي صلة في تلك المرحلة.

فهل هناك طريقة لإزالة التنبيه برمجيا؟ لذلك عندما يتغير جزء التجزئة، يمكنني إزالته.

شكرا!

هل كانت مفيدة؟

المحلول

اتضح أن الوظيفة تنبيه. إرجاع مرجع تنبيه ثم يستخدم فقط popupmanager لإضافته إلى قائمة العرض. لذلك إذا قمت بالتقاط مرجع الإرجاع عند الاتصال تنبيه يمكنك معرفة popupmanager لإزالته. :)

نصائح أخرى

يمكنك القيام بذلك عن طريق الحفاظ على Alert كائن كبيانات عضو، ثم إعداده visible الممتلكات إلى False عند الانتهاء من ذلك. في المرة القادمة التي تحتاج فيها إلى إظهار تنبيه، لا تنشئ واحدة جديدة - الاستيلاء على واحد قمت بإنشائه بالفعل وتعيين خصائصه، ثم اضبط visible إلى صحيح مرة أخرى.

private var myAlert : Alert;

public void showAlert( message: String, title : String ) : void
{
    hideAlert();

    myAlert = Alert.show( message, title, Alert.OK | Alert.NONMODAL );
}

public void hideAlert() : void
{
    if( myAlert != null && myAlert.visible ) {
        myAlert.visible = false;
    }
}

لا أعتقد أن هذا ممكن.

يمكنك إنشاء فئة مكون تنبيه الخاصة بك TitleWindow ثم استخدم PopupManager لإظهار / إخفاءها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top