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