Динамически загружать содержимое табличного представления в Titanium для Android - PullRequest
1 голос
/ 31 января 2012

Я создаю приложение, которое использует API Google Книг.Поэтому, когда я ищу книгу, она дает ответ в формате JSON, и я загружаю эти результаты в свое табличное представление.При поиске будут тысячи результатов.Но я не хочу загружать все в моем виде таблицы.Всякий раз, когда я прокручиваю вниз, загружаются только следующие книги.

Может кто-нибудь дать мне код или примерное представление о том, как сделать это в Android с помощью Titanium?Я проверил этот пост: https://github.com/appcelerator/KitchenSink/blob/master/Resources/examples/table_view_dynamic_scroll.js Но это для iPhone, он мне нужен и для Android.Помоги мне ...

1 Ответ

3 голосов
/ 13 сентября 2012

После осмотра я реализовал следующее решение для Android:

tableView.addEventListener('scroll', 
    function(e) {
        if (!e.source.__doneUpdating && e.totalItemCount % e.source.__pageSize === 0) {
            var distance = e.totalItemCount - e.firstVisibleItem;
            if (distance <= e.visibleItemCount) {
                if (!e.source.__updating) {
                    e.source.__updating = true;
                    e.source.fireEvent('beginUpdate', e);
                }
            }
        }
        Ti.API.info('-------------------');
        Ti.API.info( 'e.firstVisibleItem: ' + e.firstVisibleItem);
        Ti.API.info( 'e.totalItemCount: ' + e.totalItemCount);
        Ti.API.info( 'e.visibleItemCount: '+ e.visibleItemCount);
    }
);

Где e.source.__pageSize, e.source.__doneUpdating и e.source.__updating - внутренние переменные, которые поддерживаются кодом, вставляющим строки в tableView..

...