Listview Sencha Touch连续列表视图双后退按钮问题

Listview Sencha Touch连续列表视图双后退按钮问题,listview,sencha-touch-2,back-button,detailsview,Listview,Sencha Touch 2,Back Button,Detailsview,上图显示了我的Sencha Touch应用程序的当前结构。“我的详细信息”页面最后有两个返回按钮,因为用户通过两个列表视图来访问详细信息视图 我正在寻找一个解决方案,这将把一个单一的后退按钮上的详细信息视图返回到空缺名单。空缺列表将有自己的返回按钮,返回到章节列表。使用Ext.navigation.View。它将处理所有视图转换,并为您创建一个后退按钮。你所要做的就是把你的清单放进去 Ext.create("Controller", { extend: "Ext.app.Controll

上图显示了我的Sencha Touch应用程序的当前结构。“我的详细信息”页面最后有两个返回按钮,因为用户通过两个列表视图来访问详细信息视图


我正在寻找一个解决方案,这将把一个单一的后退按钮上的详细信息视图返回到空缺名单。空缺列表将有自己的返回按钮,返回到章节列表。

使用Ext.navigation.View。它将处理所有视图转换,并为您创建一个后退按钮。你所要做的就是把你的清单放进去

Ext.create("Controller", {
    extend: "Ext.app.Controller",

    refs: {
        navigationView: "navigationview",
        sectionList: "list[itemId='sectionlist']",
        vacancyList: "list[itemId='vacancylist']"
    },
    control: {
        sectionList: {
            sectionSelected: "handleSectionSelection"
        },
        vacancyList: {
            vacancySelected: "handleVacancySelection"
        }
    },

    handleSectionTap: function () {
        var sectionList = Ext.create("Ext.List", {
            itemId: "sectionlist",
            store: "sectionStore",
            itemTpl: "{name}",
            onItemDisclosure: function ( list, record ) {
                this.fireEvent( "sectionSelected", record );
            }
        });

        var navigationView = this.getNavigationView();
        navigationView.push( sectionList );
    },

    handleSectionSelection: function ( record ) {
        var vacancyList = Ext.create("Ext.List", {
            itemId: "vacancylist",
            store: record.get("storeId"),
            itemTpl: "{name}",
            onItemDisclosure: function ( list, record ) {
                this.fireEvent( "vacancySelected", record );
            }
        });
    },

    handleVacancySelection: function ( record ) {
        var detailView = Ext.create("DetailView");
        detailView.setRecord( record );
        var navigationView = this.getNavigationView();
        navigationView.push( detailView );
    }
});
轻触选择列表的“披露”按钮将在导航视图中推送一个新的空缺列表。由于navigationview堆栈上现在有两个视图,它将创建一个后退按钮,其中一个按钮将弹出空缺列表并返回选择列表

当点击空缺名单披露按钮时,也会发生同样的过程

代码假定您已经在某处创建了导航视图,并且您的选择记录保存了空缺存储的id