0
我面临这样的问题,我动态生成从项目(串)的阵列滑块,我使用对象来动态创建变量,然后添加一个事件监听器来我刚创建的变量,但它不会工作。将活动添加到动态生成的滑块上钛SDK
EDITED:
可变itemsObject[labelValue]
检测到改变事件时,它不改变其文本值。
var items = ['Love',
'Angry',
'Jealous',
'Happiness',
'Understanding'];
//all the controls on this view
var itemsObject = {};
var scrollView = Titanium.UI.createScrollView({
contentWidth:'auto',
contentHeight:'auto',
top:0,
showVerticalScrollIndicator:true,
showHorizontalScrollIndicator:false,
touchEnabled: true
});
var viewInsideScrollView = Ti.UI.createView({
width:'310dp',
height:'auto',
top:0,
touchEnabled:false
});
scrollView.add(viewInsideScrollView);
var fromTopItem =30,
fromTopSlider=50,
fromTopLabelValue =25;
for(i in items){
var label = items[i] + 'Label';
//item name
itemsObject[label] = new Ti.UI.createLabel({
text: items[i],
color: '#ffffff',
top:fromTopItem,
height:'auto',
width:'auto'
});
fromTopItem+=70;
var slider = items[i] + 'Slider';
//slider control
itemsObject[slider] = Titanium.UI.createSlider({
top:fromTopSlider,
min: 0,
max: 5,
minRange: 0,
maxRange:5,
width: '95%',
value: parseInt(Math.random() * (5 - 0) + 0) //values from 0 to 5
});
fromTopSlider+=70;
var labelValue = items[i] + 'LabelValue';
//value selected
itemsObject[labelValue] = new Ti.UI.createLabel({
text: itemsObject[slider].value,
color: '#ffffff',
top:fromTopLabelValue,
left:285,
height:'auto',
width:'auto',
font:{
fontSize:24,
fontWeight: 'bold'
}
});
fromTopLabelValue+= 70;
//listener
itemsObject[slider].addEventListener('change', function(e){
itemsObject[labelValue].text = parseInt(e.value);
});
//adding to the view
viewInsideScrollView.add(itemsObject[label]);
viewInsideScrollView.add(itemsObject[labelValue]);
viewInsideScrollView.add(itemsObject[slider]);
}
self.add(scrollView);
究竟是什么不起作用? –
可变itemsObject [labelValue]当检测到改变事件时,它不改变其文本值。 – Felix