Titanium: ListView загружает удаленные изображения

У меня есть приведенный ниже фрагмент кода, который возвращает список контактов Facebook пользователей вместе с их изображением профиля, однако изображения не загружаются для каждого пользователя, а показывают изображения только для нескольких пользователей.

fb.requestWithGraphPath('me/friends', {
        fields : 'first_name,last_name,id,installed,picture.width(120).height(120),gender'
    }, 'GET', function(e) {
        if (e.success) {
            var d = JSON.parse(e.result);
            var pData = [];
            var iData = [];
            var row = d.data;
            row = row.sort(sortByName)
            for (var i = 0; i < d.data.length; i++) {
                var img = row[i].picture.data.url
                if (row[i].installed) {
                    pData.push({
                        properties : {
                            title : row[i].first_name + " " + row[i].last_name,
                            id : row[i].id,
                            image : img,
                            gender : row[i].gender,
                            accessoryType : Ti.UI.LIST_ACCESSORY_TYPE_DISCLOSURE
                        },
                        template : Ti.UI.LIST_ITEM_TEMPLATE_DEFAULT
                    });
                } else {
                    iData.push({
                        properties : {
                            title : row[i].first_name + " " + row[i].last_name,
                            id : row[i].id,
                            image : img,
                            accessoryType : Ti.UI.LIST_ACCESSORY_TYPE_DISCLOSURE
                        },
                        template : Ti.UI.LIST_ITEM_TEMPLATE_DEFAULT
                    });

                }
            }
            var play = Ti.UI.createListSection({
                headerTitle : 'Play with Facebook Friends',
                items : pData
            });

            var invite = Ti.UI.createListSection({
                headerTitle : 'Invite Facebook Friends',
                items : iData
            });
            var listView = Ti.UI.createListView({
                sections : [play, invite],
            });
            self.add(listView)
        } else {
            alert("Facebook Error");
        }
    })

Изображения хранятся в var img = row[i].picture.data.url и помещаются в массив данных как часть image : img, но загружаются не все изображения.

Есть ли способ заставить изображения загружаться? и показывать изображение по умолчанию во время загрузки?


person Tam2    schedule 10.08.2013    source источник


Ответы (1)


Вот ссылка на полный пример, чтобы сделать именно то, что вы пытаетесь выполнить выше

http://www.clearlyinnovative.com/blog/post/34758524584/alloy-listview-facebook-friends#.UgexZGRATrg

person Aaron Saunders    schedule 11.08.2013
comment
Отлично, кажется, это сработало. похоже на добавление изображений в ListView, которое вам нужно определить, а затем с помощью шаблона - person Tam2; 11.08.2013
comment
рад, что это помогло вам, переход на сплав не тривиален, но преимущества оправдывают усилия - person Aaron Saunders; 12.08.2013