0

我遇到了这个奇怪的问题,在我的 sencha touch 2.2 android phonegap 应用程序的每第三次启动时,我的所有列表项都呈现在彼此之上。只要您稍微拖动列表,它就会自行排序。

尝试了很多事情:更改列表中的所有配置,删除所有自定义 css,添加滚动功能,在列表完成渲染后向下滚动然后再次向上滚动,但无济于事。

有任何想法吗?

更新:更好的设置描述。

该列表位于导航视图内,而导航视图又位于幻灯片导航视图 (github.com/wnielson/sencha-SlideNavigation) 内。

存储在列表视图的初始化时设置。

列表定义(稍微简化):

Ext.define('Labblistan.view.LabList', {
extend: 'Ext.dataview.List',
xtype: 'lablist',
requires: [
    'Labblistan.controller.SearchController',
    'Ext.util.DelayedTask',
    'Ext.plugin.PullRefresh',
    'Ext.SegmentedButton'],

id: 'lablist',
config: {
    grouped: true,
    infinite: true,
    useSimpleItems: true,
    variableHeights: true,
    plugins: [{
        xclass: 'Ext.plugin.PullRefresh',
        pullRefreshText: 'Dra ned för att uppdatera!',
        lastUpdatedText: 'Senast uppdaterad',
        loadingText: 'Förbereder uppdatering',
        releaseRefreshText: 'Släpp för att uppdatera!',
        refreshFn: function (plugin) {
            confirmUpdate();
        }
    }],
    itemTpl: itemtemplate, //long and kinda complicated so I didn't include it here
    onItemDisclosure: true,
    disableSelection: true,
    indexBar: {
        right: '-10px'
    },
    loadingText: 'Laddar',
    iconmask: true,
    scrollToTopOnRefresh: false,
    cls: 'listan',
    items: items, //Contains another toolbar with some buttons for improved sorting
    listeners: {
        initialize: function () {
            console.log('initialize list');
            var dynstore = Ext.getStore('LabListStore');
            this.setStore(dynstore);
        },
        painted: function () {
            console.log('painted list');
            setTimeout(function () {
                Ext.getCmp('listbar').enable();
            }, 600);
            Ext.Viewport.setMasked(false);
            return false;
        },
        hide: function () {
            console.log('hide list');
            return false;
        }
    }
}
});

在此处输入图像描述

4

1 回答 1

0

如果你已经将你的应用升级到 Sencha 2.2(而不是生成一个新的),那么 app.css 的升级可能会出现问题(这是我升级的时候)。Sencha 2.2 中对列表进行了重大修改,因此 2.2 之前的 CSS 打破了列表。

sencha app generate如果您将升级失败的app.css 替换为从新的 Sencha 2.2 应用程序(如果这不起作用,请添加:

.x-list .x-list-item{
    position: relative !important;
}

应该管用。

希望这会有所帮助!

于 2013-05-06T03:34:01.613 回答