-1

画像を取得する必要があるコードがあります。API 呼び出しから取得した画像が必要な行があります。入手方法に迷っています。

これは私が私の行を取得する場所です

Ti.Facebook.requestWithGraphPath(Titanium.App.Properties.getString("pageID") +'/feed',     {access_token: Token}, 'GET', function(e){
    if (e.success) {

        json = JSON.parse(e.result);
for (i = 0; i < json.data.length; i++) {
    data = json.data[i];
    row = Ti.UI.createTableViewRow({
        height:'80dp',
         // backgroundImage : 'images/tablebgl.png',
        backgroundColor: 'transparent',
        separatorColor:'transparent',
    });
row.coverid = data.from.id;     

var coverid = row.coverid;  

   Titanium.App.Properties.setString("cv", coverid);

    var imag = Ti.UI.createImageView();
row.add(imag);
require('image').get.signUpConn(data, function(scrollView){ 
imag.setImage(scrollView);
});

そして、これは私の「image.js」です

exports.signUpConn = function(data, callback) {
    var scrollView = Ti.UI.createView({
        top : 0,
        right : -1,
        left : -1,
        backgroundColor : 'transparent',
        width : '95%',
        contentWidth : 'auto',
        contentHeight : 'auto',
        layout : 'horizontal'
    });

    var url = "https://graph.facebook.com/" + Titanium.App.Properties.getString("cv") + "?fields=cover";
    var loader = Titanium.Network.createHTTPClient();
    loader.onload = function(data) {
        var data = JSON.parse(this.responseText);
        var images = [];
        for (var c = 0; c < 1; c++) {
            images[c] = {
                image : data.cover.source,
                width : 300
            };

        }
        function square(i) {
            var view = Ti.UI.createImageView({
                image : images[i].image,
                width : 300,
                height : 111,
                top : 5,
            });
            return view;
        }

        for (var i = 0; i < 1; i++) {
            scrollView.add(square(i));
        }

    }
    callback(scrollView);
    loader.open("GET", url);
    loader.send(data);

}

したがって、エラーは関数および/またはコールバックにあるに違いないと思います。

画像は「scrollView」になります。

関数とカルバックのやり取りに関しては、私は完全に混乱しています。

これは私が得るエラーです:

Script Error = 'undefined' is not an object (evaluating 'require('image').get.signUpConn')

ありがとう。

4

1 に答える 1

0

コードには複数の構文エラーがあります (Facebook リクエスト、多数の角かっこの欠落) が、参照しているエラーは次の理由によるものです。

require('image').get.signUpConn(data, function(scrollView){ 
    imag.setImage(scrollView); // Why do you need this here? 
});

代わりにこれである必要があります。次の必要はありませんget

require('image').signUpConn(data, function(scrollView){ 
    imag.setImage(scrollView);
});

しかし、これはより深刻な問題であり、画像が に読み込まれる前に呼び出しを行うのはcallback早すぎますimage.js。また、scrollView(通常のビューにすぎない) 作成して、コールバックを介して渡すのはなぜですか? また、1 回だけループする for ループがあるのはなぜですか?

これを部分的に修正し、scrollView をこのすべての外に移動し、images配列をコールバックに渡し、次のようにコールバック内で正方形関数を使用して画像を追加するように見えます。

require('image').signUpConn(data, function(images){ 
    for(var i = 0;i<images.length;i++) {    
        scrollView.add(square(image[i]);
    }
});

平方関数でもいくつか変更する必要があります。

于 2013-01-12T19:29:27.830 に答える