【发布时间】:2013-05-06 11:34:01
【问题描述】:
我遇到了这个奇怪的问题,在我的 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;
}
}
}
});
【问题讨论】:
-
你能分享一些代码吗?桌面浏览器也会出现这种情况?
-
很遗憾,由于 cordova 代码,无法在桌面浏览器中进行测试。虽然不会发生在 iOS 上。什么代码会有帮助?清单 conf?现在将添加该设置 + 扩展描述
-
我已经遇到了一些关于 phonegap 的奇怪错误。如果在 IOS 中运行良好,我建议您首先尝试使用其他版本的 phonegap(可以是旧版本,仅用于测试)。我在您的 sencha 代码中看不到任何问题,因此可能是 phonegap 或您正在使用的某些插件。只需将您的“id”放在配置中,所有配置现在都必须位于配置对象内(不推荐使用外部配置)。我也遇到了麻烦(在 sencha 编译器之后产生了一个非常奇怪的问题)。
-
谢谢,因为我现在在 2.6 上,我将从升级到 2.7 开始,看看它是否有所作为。哦,移动 id,谢谢!
-
您能否分享链接到您的列表的 CSS。与 .listan 相关的一切
标签: cordova sencha-touch sencha-touch-2