2017-09-16 167 views

回答

0

有2情況下,你可能會感興趣的:

  1. 過騎後退按鈕按下的默認行爲。

    $.window.onBack = function() { // run your code like change views or whatever you like };

    • 使用Window's onBack property附加後退按鈕回調。
    • 您將控制在該窗口上按下後退按鈕時應發生的情況。
  2. 如果你只是想聽聽備份按鈕按下背部按下按鈕的默認行爲一起,使用Window's androidback event

    $.window.addEventListener('androidback', function (e){});

    • 注意,此方法仍然會關閉你的窗口,但將允許您運行在後退按鈕按下一些代碼。

我相信你正在尋找方法1.

注:方法1是唯一可用的後或> SDK 5.5.1.GA.這是6.0.0.GA的突破性變化。因此,請正確閱讀文檔&對其功能進行了一些測試。

增加了代碼示例以模擬後退按鈕功能。

Alloy.Globals.trackingArray = []; 

function addNewView(_controllerName, _args) { 
    var newView = Alloy.createController(_controllerName, _args).getView(); 
    $.window.add(newView); 

    // add new view in tracking array. 
    Alloy.Globals.trackingArray.push(_controllerName); 
} 

// now use something like this whenever you remove any view using backpress 
function onBackPress() { 
    // remove lastly added view 
    Alloy.Globals.trackingArray.pop(_controllerName); 

    // add last opened view to simulate back button feature 
    var lastAddedView = Alloy.Globals.trackingArray[Alloy.Globals.trackingArray.length - 1]; 

    var tempView = Alloy.createController(lastAddedView).getView(); 

    $.window.add(tempView); 
} 

這是如何管理此功能的基礎。但是請注意,在創建新視圖或控制器時,您需要照顧管理傳遞的參數。有多種方式可以做到這一點&這取決於你的編碼風格。 :)

+0

我有一個窗口和處理後退按鈕很容易。但是我在父窗口工作中添加的視圖完全是不同的屏幕。處理這些視圖的返回按鈕是我不理解Prashant。你能幫我解決嗎? – SylieC

+0

您需要設置'exitOnClose:false',然後您可以使用'androidback'事件來更改您的視圖 – miga

+0

@SylieC,您需要創建一個自定義處理視圖,您可以在該單個窗口中添加或刪除視圖。使用我的答案和自定義處理。例如。假設你在窗口中有view1,現在你設置了一個數組變量來跟蹤添加的視圖。當這個數組只有1個視圖時,你將關閉窗口。請參閱我編輯的答案以獲得更清晰的解釋 –