這是第一次我給的答案我自己的問題的工作。 對於所有在首次點擊選取器時遇到問題的人來說,這可能會對您有所幫助。
- 如果你寫在XML文件選擇器,那麼你可能會面臨這個問題我也是,因爲我們從代碼中添加數據選擇器已經顯示在窗口中的js文件打開,從而增加選擇器......這可能不是技術說明,但我嘗試了這一點,所以我認爲這適用於所有人。我發佈兩種方法,它不工作(意味着第一次點擊問題)和它按預期工作的方式。
這裏是您可能面臨問題的代碼。
<Alloy>
<Window id="winpast" class="container" title="Past issues" onOpen="openpastIssues">
<View id="view2" width="Ti.UI.FILL" height="Ti.UI.FILL" backgroundColor="#A9F5A9" >
<View id="viewcheck1" >
<Label id="title" width="Ti.UI.SIZE" text="Past Issues" height="Ti.UI.SIZE" textAlign="Ti.UI.TEXT_ALIGNMENT_CENTER"></Label>
<ImageView id="menuImg" image="/images/menu.png" onClick="showsideBar" left="5"></ImageView>
<Picker id="picker" selectionIndicator="true" height="Ti.UI.SIZE" width="Ti.UI.SIZE" right="10">
</Picker>
</View>
</View>
</Window>
JS文件
for (var i = sorted.length - 1; i >= 0; i--) {
pickerData[i] = Ti.UI.createPickerRow({
title : sorted[i],
});
$.picker.add(pickerData);//picker is added in xml file and data is added now
picker.addEventListener('change', function(e) {
alert(e.row.title);
});
$.winpast.open();
上面的片斷可以有選擇器第一次點擊的問題。
現在,這裏是我實現與@Riccardo頰
的建議刪除這個問題,我只是用了他的建議一試,發現這種正確的方法。
這裏是正確的代碼。
<Alloy>
<Window id="winpast" class="container" title="Past issues" onOpen="openpastIssues">
<View id="view2" width="Ti.UI.FILL" height="Ti.UI.FILL" backgroundColor="#A9F5A9" >
<View id="viewcheck1" >
<Label id="title" width="Ti.UI.SIZE" text="Past Issues" height="Ti.UI.SIZE" textAlign="Ti.UI.TEXT_ALIGNMENT_CENTER"></Label>
<ImageView id="menuImg" image="/images/menu.png" onClick="showsideBar" left="5"></ImageView>
</View>
</View>
</Window>
JS文件
var picker = Ti.UI.createPicker({
right:10
});
for (var i = sorted.length - 1; i >= 0; i--) {
pickerData[i] = Ti.UI.createPickerRow({
title : sorted[i],
});
Ti.API.info('From sorted ' + i + sorted[i]);
}
picker.add(pickerData);//we add data here and picker is not added yet
$.viewcheck1.add(picker);//after adding whole data we are adding picker in the view so it resolves the first click issue.
$.winpast.open();
第二種方式工作正常,我並沒有與picker.If沒有第一次點擊的問題我的回答任何事情不能正常屆時提及請糾正我。
希望它有幫助。
你能以某種方式提供一個測試小提琴嗎? –
很難得到這個小提琴我想,因爲它是鈦 – Suraj
你能檢查這個簡單的例子是否工作嗎? var row1 = Ti.UI.createPickerRow({\t title:「row1, }); var row2 = Ti.UI.如果您的問題存在於您發佈的代碼或其他內容中, createPickerRow({\t title:「row2, }); var pickerData = [row1,row2]; $ .picker.add(pickerData); $ .picker.addEventListener( '變',函數(E){ \t的console.log( '點擊該行' + e.row.title); });' –