后退按钮不工作在sencha触摸

时间:2013-03-26 12:24:34

标签: navigation sencha-touch sencha-touch-2 push

我正在从我的导航视图(xtype:'mainPanel')中推送一个视图。它是tabbar的一个元素。在第二个视图中,导航栏中显示back按钮,但它不起作用。有什么想法吗?

itemtap: function(list, index, target, record) {


                                list.up('mainPanel').push({
                                    xtype: 'newview',
                                    title: 'New',
                                    data: record.data
                                });


}

Main.js

Ext.define('Proj.view.Main', {
extend: 'Ext.tab.Panel',
xtype: 'main',
requires: [
    'Ext.TitleBar','Proj.view.phone.Mainpanel','Proj.view.phone.Home',''
],
config: {
    tabBar: {
        docked: 'bottom',
        layout: {
            pack: 'center'
        }

    },

    items: [

        {
            xtype: 'homePanel'
        },
        {
            xtype: 'mainpanel'
        },

    ]
}

});

Mainpanel.js

Ext.define('Proj.view.phone.MainPanel', {
    extend: 'Ext.navigation.View',
    xtype: 'mainpanel',
    requires : [
        '],
    initialize:function(){

        this.getNavigationBar().add(stuff);


Ext.getCmp('categoryList').setData(jsonObject.info);



    },
    config: {
        title : 'Shop',
        iconCls: 'favorites',
        styleHtmlContent: true,
        scrollable: true,

            items: [

                        {
                            xtype: 'list',
                            fullscreen: true,
                            itemTpl: '{name}',
                            autoLoad: true,
                            id:'categoryList',
                            store: {
                                fields :['active', 'created','description']

                            },
                            listeners: {
                                itemtap: function(list, index, target, record) {

                                    list.up('mainpanel').push({
                                        xtype: 'newview',
                                        title: 'newview',
                                        data: record.data
                                    });

                                }
                            }
                        }
            ]
    },

2 个答案:

答案 0 :(得分:5)

尝试使用以下代码覆盖后退按钮事件::

extend:'Ext.navigation.View',
xtype:'myNavigation',
config:{
    ……
},
onBackButtonTap:function(){
    this.callParent(arguments); 
    alert('back button pressed');
}

看看是否有效。如果确实如此,那么你就会知道你正在处理错误的后退事件,并且推送不起作用。如果它没有抛出警报,那么监听器就不起作用了。尝试使用控制器方法以编程方式调用后退事件,并查看是否可以使用

答案 1 :(得分:1)

我以前遇到过这个问题。在所有视图中创建初始化函数。在其中添加此代码。

this.callParent(arguments);