钛合金上的插入符号和菜单项不起作用

时间:2013-09-29 17:12:30

标签: titanium-mobile

我有一个窗口的代码。我正在尝试实现插入符号,以便用户可以通过点击标题转到上一个窗口。 向上插入符号,但当我点击它时,没有任何反应,它只会发光。 我添加的菜单项也没有显示。 我有什么不对的吗?

function ConfirmOrder(_args) {
    var actionBar;
    var self = Ti.UI.createWindow({
        title           : "Confirm Order",
        backgroundColor :'transparent',
        orientation     : 'vertical'
    });

    self.addEventListener("open", function() {
        actionBar = self.activity.actionBar;
        if (actionBar) {
            actionBar.title = "Confirm Order";
            actionBar.displayHomeAsUp = true; // shows up caret
            actionBar.onHomeIconItemSelected = function() {
                self.close();
            };
        } else {
            alert('actionbar not accessible');
        }

        self.activity.onCreateOptionsMenu = function(e) {
            var menu = e.menu;
            var menuItem1 = menu.add({
                title        : L('settings'),
                icon         : "images/Setting.png",
                showAsAction : Ti.Android.SHOW_AS_ACTION_IF_ROOM
            });

            menuItem1.addEventListener("click", function(e) {
                alert("Settings Options Menu");
            });

        };
    });


    var imgView = Ti.UI.createImageView({
        top    : '3%',
        image  : Titanium.App.Properties.getString('image'),
        height : '30%',
        width  : '60%'
    });

    var bottom = Titanium.UI.createView({
        top             : '37%',
        height          : '55%',
        orientation     : 'vertical',
        touchEnabled    : false,
        backgroundImage : '/images/bg2.jpg',
    });

    var buttonsView = Titanium.UI.createView({
        bottom          : '0%',
        height          : '10%',
        orientation     : 'horizontal',
        touchEnabled    : false,
    });


    var confirmButton = Ti.UI.createButton({
        right  : '5%',
        bottom : '10%',
        width  : '40%',
        height : '70%',
        color  : 'white',
        font   : {fontSize:20, fontWeight:'bold', fontColor:'white', fontFamily:'Helvetica Neue'},
        title  : 'Confirm'
    });
    confirmButton.addEventListener('click', function(evt) {
        // blah blah blah
    });

    var cancelButton = Ti.UI.createButton({
        left   : '5%',
        bottom : '10%',
        width  : '40%',
        height : '70%',
        color  : 'white',
        font   : {fontSize:20, fontWeight:'bold', fontColor:'white', fontFamily:'Helvetica Neue'},
        title  : 'Cancel'
    });
    cancelButton.addEventListener('click', function(evt) {
        // blah blah blah
    });


    // add buttons to buttons container
    buttonsView.add(confirmButton);
    buttonsView.add(cancelButton);

    // add parent containers to windows
    self.add(imgView);
    self.add(bottom);
    self.add(buttonsView);
    return self;
};

module.exports = ConfirmOrder;

全部谢谢

1 个答案:

答案 0 :(得分:0)

我不能完全指责它,因为它看起来与我的表现非常相似。然而,我唯一不同的是,我有另一个检查,以确保你可以得到活动,它可能属于这个陷阱吗?

if (! self.getActivity()) {
    Ti.API.error("Can't access action bar on a lightweight window.");
} else {
    actionBar = self.activity.actionBar;
        if (actionBar) {
            actionBar.title = "Confirm Order";
            actionBar.displayHomeAsUp = true; // shows up caret
            actionBar.onHomeIconItemSelected = function() {
                self.close();
            };
        } else {
             alert('actionbar not accessible');
        }
}

如果其他选项不起作用,我会删除它们以查看它们是否以某种方式导致向上插入错误。

希望有所帮助