我正在经历这个奇怪的问题,每次第三次发射,我的sencha触摸2.2 android phonegap应用程序我的所有列表项目在彼此之上呈现。一旦你拖动列表,它就会自行排序。
尝试了很多事情:更改列表中的所有配置,删除所有自定义css,添加滚动功能,向下滚动,然后在列表完成渲染后再次向上,但无效。
有什么想法吗?
更新:更好地描述设置。
列表位于导航视图中,而导航视图又位于slidenavigationview(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;
}
}
}
});
答案 0 :(得分:0)
如果您已将应用程序升级到Sencha 2.2(而不是生成新的应用程序),则在升级app.css时可能会出现问题(这是我升级时)。在Sencha 2.2中,列表被大量修改,因此2.2之前的CSS打破了列表。
如果您使用从新的Sencha 2.2应用程序(sencha app generate
)创建的app.css替换未成功升级的app.css,那么应该解决问题,或者至少它对我有用。如果这不起作用,请添加:
.x-list .x-list-item{
position: relative !important;
}
应该有用。
希望这有用!