當在屏幕A上按下按鈕時,我按下屏幕B.並且當在屏幕B上按下後退按鈕時,我希望屏幕A瞭解更新屏幕。有什麼辦法可以解決這個問題嗎?按下後退按鈕後彈出()屏幕時是否有任何事件需要捕捉?
回答
當彈出屏幕B時,它將調用onUiEngineAttached(boolean)函數,將參數設置爲false。如果屏幕B保持對屏幕A的引用,則可以觸發任何需要的更新。
另一種方法是設置自己的偵聽器,其中屏幕B將提供事件,屏幕A將偵聽事件。再次,您可能會從onUiEngineAttached(布爾)函數中觸發事件。
我認爲這可以使用YUI History Manager來完成。
您可以使用回調模式。詳情請查閱我的another post。在屏幕B上的任何用戶界面事件(例如按下按鈕)後,屏幕B會根據需要運行通過任何參數的回調。通過這種方式,您的屏幕A保持其原始/清潔界面。
可以檢測到設備「後退」 BTN按與此代碼:
protected boolean keyChar(char c, int status, int time) {
if (c == Characters.ESCAPE) {
// .. run callback here ..
close(); // actually close the Screen B
return true;
}
return super.keyChar(c, status, time);
}
我已經使用'keyChar()'。我只是將屏幕A的引用傳遞給屏幕B,並且調用了A的更新方法。它可以工作,但我不知道它是否是傳遞引用的好方法。 我真的不知道回調是做什麼的。但是我在屏幕A中使用ListField和ListCallBack。我意識到,當我按下屏幕B上的按鈕時,會調用ListCallback的'drawListRow()'方法。所以我認爲回調在這裏是有用的。我會研究它,謝謝。 – redline 2011-05-10 13:34:53
只是要清楚:我不是在談論ListCallBack。這完全是另一個概念。傳遞引用的作品好吧,它只是創建了一個過於單一的代碼,以後很難再改變。 – 2011-05-10 13:44:02
是的,我知道它不會是一個ListCallBack的課程。我知道傳遞參數的問題,我會改變它。 – redline 2011-05-10 13:57:42
B屏被彈出堆棧的,所以它會得到onUiEngineAttached()回調。但是你對屏幕A感興趣,它將得到不同的回調 - Screen.onExposed()。
謝謝,我也會嘗試這個功能。 – redline 2011-05-10 22:49:05
- 1. 如何捕捉後退按鈕事件?
- 2. 捕捉後退按鈕導航事件
- 3. 後退按鈕事件捕捉「提問」
- 4. 的PhoneGap - Android的後退按鈕 - 如何捕捉按HOLD事件
- 5. 如何在點擊後退按鈕時捕捉事件?
- 6. 有沒有辦法在javascript中捕捉後退按鈕事件?
- 7. 在webview中按下後退按鈕時的空白屏幕
- 8. iPhone:捕獲後退按鈕事件
- 9. 無法捕捉Android後退按鈕事件
- 10. 當屏幕鎖定時捕獲返回按鈕按下事件
- 11. 屏幕後退按鈕上的UWP - 如何觸發系統後退事件?
- 12. NavigationController沒有彈出後退按鈕
- 13. Android手機硬件後退按鈕不點火「後退按鈕」事件,有時
- 14. 應用按後退按鈕當按下後退按鈕
- 15. pushViewController後跟'後退'按鈕有時不彈出視圖
- 16. KeyDown事件按下按鈕後退出工作
- 17. 按下後退按鈕時出現Ch 0123退出
- 18. 找出用戶是否按下了uinavigationcontroller中的後退按鈕?
- 19. 按下退出按鈕後停止GPS
- 20. Android捕獲後退按鈕
- 21. 按下後退按鈕時傳遞BOOL
- 22. Python中是否有「後退按鈕」PyS60
- 23. libGDX按下後退按鈕後的Android白屏
- 24. 後退按鈕需要3次嘗試
- 25. WP7:在瀏覽器上按下後退按鈕時的黑屏
- 26. AsyncTask按下後退按鈕時的任務
- 27. 如何在UITableView中出現「刪除」按鈕時捕捉事件?
- 28. 無法在黑莓的彈出屏幕中使用後退按鈕屬性
- 29. 單擊'按鈕按下'後用相機捕捉多張圖像?
- 30. 找出'formCloseing'事件被觸發時最後按下的按鈕
謝謝,我會嘗試onEngineAttached(boolean)方法。 onExposed()的作品爲 – redline 2011-05-10 13:37:06
。我認爲這是最好的解決方案。 – redline 2011-05-19 09:36:50