0

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

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;

谢谢大家

4

1 回答 1

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');
        }
}

如果其他选项也不起作用,我会删除它们以查看它们是否以某种方式导致 up caret 出错。

希望有帮助

于 2013-09-30T10:46:37.310 回答