すごく速いので、私は困惑しています。Appceleratorで適切に関数に値を渡す
私のAppceleratorアプリではうまく動作しますが、関数に変数を渡して渡すことができないように見えますが、未定義に戻ってきます。
ポップアップコードスニペットはここに掲載されていませんが、これは問題ではありません。
おそらく、ここでは完全な児童犯罪のエラーですが、私が間違ったことを指摘できる人は誰ですか?
したがって、ユーザーがPosterViewをタップすると(HTTPリクエストを介してオンザフライで作成される)、 "ourscreenName"と "ourscreenURL"をshowOurscreenBooking関数に渡す必要があります。
var xhr = Ti.Network.createHTTPClient({
onload: function() {
// Ti.API.debug(this.responseText);
json = JSON.parse(this.responseText);
Ti.API.info(json);
for (i = 0; i < json.length; i++) {
posterView = Ti.UI.createImageView({
width: Ti.Platform.displayCaps.platformWidth/3,
defaultImage: 'images/imgloader.png',
top: 0,
backgroundColor: '#000'
});
getPoster(json[i].tmdb_id, posterView, json[i].ourscreen_film_name);
ourscreenName = json[i].ourscreen_film_name;
ourscreenURL = json[i].ourscreen_url;
scrollView.add(posterView);
posterView.addEventListener('click', function(e) {
// need to open up the booking popup
showOurscreenBooking(e.ourscreenName, e.ourscreenURL);
});
}
},
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 in event loop. Try again.');
},
timeout: 30000 // add longer timeout for slower connections
});
ありがとうございます!
サイモン
これだけです!私はちょっとした問題があります。最初のポスターをクリックすると正常な動作が得られます。 2番目のポスターをクリックすると、最初のポスター情報が表示され、次に2番目のポスター情報が表示されます。 3番目をクリックすると、1番目、2番目、3番目のポスター情報が表示されます。 –
私の最初の考え:それを 'var posterView = Ti.UI.createImageView ...'にしてください。代わりにposterViewだけで、あなたはおそらくグローバルとしてposterViewを定義して、あなたの問題を解決すれば教えてください。 – davidcyp