2015-01-13 44 views
0

是否可以在選擇可選菜單項時顯示另一個菜單,如果我點擊第一個菜單上的項目,則應用程序停止運行。contextualMenu item onSelected顯示另一個菜單

function rightMenuF() { 

var item1 = { 
    title : lang["lng_logout"], 
    //icon : "Icon.png", // Android 3.0 only 
    //itemType : SMF.UI.MenuItemType.cancel, // iOS Optional Menu only 
    onSelected : function (e) { 
     openNewMenu(); 
    } 
}; 
var items = [item1]; 
Menus.RightOptionalMenu = new SMF.UI.Menu({ 
    menuStyle : SMF.UI.MenuStyle.optionalMenu, 
     title : lang["lng_settings"], 
     //icon : "Icon.png", 
     items : items 
    }); 
Menus.RightOptionalMenu.show(); 
} 

function openNewMenu() { 

var item1 = { 
    title : lang["lng_logout"], 
    //icon : "Icon.png", // Android 3.0 only 
    //itemType : SMF.UI.MenuItemType.cancel, // iOS Optional Menu only 
    onSelected : function (e) { 
     alert("a"); 
    } 
}; 
var items = [item1]; 
Menus.NewOptionalMenu = new SMF.UI.Menu({ 
    menuStyle : SMF.UI.MenuStyle.optionalMenu, 
     title : lang["lng_settings"], 
     //icon : "Icon.png", 
     items : items 
    }); 
Menus.NewOptionalMenu .show(); 
} 

rightMenuF觸發actionBar項。

回答

0

這是可能的,但是你的代碼行中有一些JavaScript問題。

首先,您可以在項目中使用Menu.JS作爲指南,還有一篇關於菜單對象的文章http://www.smartface.io/developer/guides/controls/menu-object/

現在,創建一個新項目。

打開Global.JS文件並取消註釋下面的codeLine;

load("Menu.js"); 

現在,打開Menu.JS文件並更改下面的代碼;

var item1 = { 
    title : "My Item 1", 
    icon : "icon.png", // Andrid 3.0- only 
    itemType : SMF.UI.MenuItemType.destructive, // iOS Optional Menu Only 
    onSelected : function (e) { 
     Menus.newMenu2.show(); 

     alert("First item is selected"); 
    } 
}; 

var item2 = { 
    title : "My Item 2", 
    itemType : SMF.UI.MenuItemType.destructive, // iOS Optional Menu Only 
    onSelected : function (e) { 
     alert("Second item is selected"); 
    } 
}; 

var items = [item1, item2]; 

Menus.newMenu = new SMF.UI.Menu({ 
     menuStyle : SMF.UI.MenuStyle.contextualMenu, 
     title : "Menu Title", // iOS Optional Menu Only 
     icon : "menu_icon.png", // Android Context Menu Only 
     items : items 
    }); 

Menus.newMenu2 = new SMF.UI.Menu({ 
     menuStyle : SMF.UI.MenuStyle.optionalMenu, 
     title : "Menu Title", // iOS Optional Menu Only 
     icon : "menu_icon.png", // Android Context Menu Only 
     items : items 
    }); 

// Use following commands to show menus 
/* 
Menus.newMenu.show(); 
Menus.newMenu2.show(); 
*/ 

現在創建一個按鈕,例如在其onPressed事件中編寫下面的代碼;

Menus.newMenu.show(); 

當您運行項目時,如果您按下按鈕,它會顯示第一個菜單。如果你觸摸第一個項目,它會顯示第二個菜單。

相關問題