我是钛的新手,将它用于 iphone 应用程序我没有让事件在 Ti.Network.createHTTPClient() 函数中工作。我不能从网络功能的外部调用它。为什么会这样?
我的目标是当我单击一个图像时,它调用单击事件以在图像库中显示该图像。我在 carImageGallery.js 文件中有图片库代码。
我无法确定问题所在。请帮我。这是我的代码示例。提前致谢。
var win = Ti.UI.currentWindow;
var nid = Titanium.App.Properties.getInt('id');
var url = carsDetailUrl + nid;
var imageArea = Titanium.UI.createView({
width : 300,
top: 50,
height : 125,
backgroundColor : '#fffB',
borderRadius : 6,
})
var xhr = Ti.Network.createHTTPClient({
onload : function() {
var tableData = [];
var topPosition = 00;
var cars, userNameLabel, commentsLabel, row, dateLabel;
var headLines, titleLabel, imageLabel, i, row, viewDetail, cars,images;
cars = JSON.parse(this.responseText);
headLines = cars.data[1];
images = cars.data[1]['image'];
Ti.API.info(images);
var mainScrollView = Ti.UI.createScrollView({
top : '0dp',
left : '0dp',
contentWidth : 320,
touchEnabled : 'true',
borderRadius : 10,
backgroundImage : '../images/bg.png',
showHorizontalScrollIndicator : false,
showVerticalScrollIndicator : false,
height : '300dp'
});
if (getSession() != false) {
mainScrollView.height = '300dp';
} else {
mainScrollView.height = 'auto';
}
var viewDetail = Ti.UI.createView({
top : '10dp',
left : '10dp',
height : 'auto',
width : '94%',
touchEnabled : 'true',
borderRadius : 10,
backgroundColor : '#FFFFFF',
});
var view = Titanium.UI.createView({
borderColor : "#C0C0C0",
borderWidth : 1,
top : "50dp",
left : "10dp",
width : "94%",
height : "1dp"
});
var titleLabel = Ti.UI.createLabel({
text : headLines['title'],
font : {
fontSize : '14dp',
fontWeight : 'bold',
},
height : 'auto',
left : '10dp',
top : '10dp',
color : '#C51515',
touchEnabled : true
});
brandLabel = Ti.UI.createLabel({
text : headLines['brand'],
font : {
fontSize : '12dp',
fontWeight : 'bold',
},
height : 'auto',
left : '10dp',
top : '30dp',
color : '#000',
touchEnabled : true
});
var image1 = Ti.UI.createButton({
backgroundImage : encodeURI(images[1]),
left : '8dp',
top : '10dp',
width : '135dp',
height : '106dp',
borderColor : '#000000',
borderRadius : 6,
borderWidth : 1,
});
var image2 = Ti.UI.createButton({
backgroundImage : encodeURI(images[2]), //"../images/bus.jpg",
left : '150dp',
top : '11dp',
width : '70dp',
height : '50dp',
borderColor : '#000000',
borderRadius : 3,
borderWidth : 1,
});
var image3 = Ti.UI.createButton({
backgroundImage : encodeURI(images[3]),
left : '150dp',
top : '64dp',
width : '70dp',
height : '50dp',
borderColor : '#000000',
borderRadius : 3,
borderWidth : 1,
});
var image4 = Ti.UI.createButton({
backgroundImage : encodeURI(images[4]),
left : '223dp',
top : '11dp',
width : '70dp',
height : '50dp',
borderColor : '#000000',
borderRadius : 3,
borderWidth : 1,
});
var image5 = Ti.UI.createButton({
backgroundImage : encodeURI(images[5]),
left : '223dp',
top : '64dp',
width : '70dp',
height : '50dp',
borderColor : '#000000',
borderRadius : 3,
borderWidth : 1,
});
var textLabel1 = Ti.UI.createLabel({
text : headLines['description'],
font : {
fontSize : '10dp',
fontWeight : 'bold',
},
height : 'auto',
left : '10dp',
top : '170dp',
//bottom: '50dp',
color : '#000',
touchEnabled : true
});
var view2nd = Titanium.UI.createView({
layout : 'vertical',
top : "20dp",
left : "10dp",
width : 300,
touchEnabled : 'true',
height : "auto"
});
viewDetail.add(view);
viewDetail.add(titleLabel);
viewDetail.add(brandLabel);
viewDetail.add(imageArea);
imageArea.add(image1);
imageArea.add(image2);
imageArea.add(image3);
imageArea.add(image4);
imageArea.add(image5);
view2nd.add(textLabel1);
image1.addEventListener('click', function(e) {
Ti.API.info("image1 clicked");
var newWin = Ti.UI.createWindow({
url : '../automobileSubClass/carImageGallery.js',
title : headLines['title'],
tabBarHidden : true,
barColor : '#000000',
backgroundImage : "../images/bg.png"
});
Titanium.UI.currentTab.open(newWin, {
animated : true
});
});
mainScrollView.add(viewDetail);
win.add(mainScrollView);
},
onerror : function(e) {
Ti.API.debug("STATUS: " + this.status);
Ti.API.debug("TEXT: " + this.responseText);
Ti.API.debug("ERROR: " + e.error);
alert('There was an error retrieving the remote data. Please check your internet cunnectivity.');
},
timeout : 45000
});
xhr.open("GET", url);
xhr.send();