在Titanium for Android中动态加载表视图内容

时间:2012-01-31 09:04:31

标签: android titanium tableview google-books

我正在创建一个使用Google Books API的应用程序。因此,每当我搜索一本书时,它都会给出一个JSON响应,然后我将这些结果加载到我的表视图中。我搜索时会有成千上万的图书结果。但我不想在我的tableview中加载所有内容。每当我向下滚动它只需加载下一本书。

任何人都可以给我一个代码或粗略的想法,如何在使用Titanium的Android中执行此操作?我查过这篇文章:https://github.com/appcelerator/KitchenSink/blob/master/Resources/examples/table_view_dynamic_scroll.js但这适用于iPhone,我也需要Android版。帮帮我...

1 个答案:

答案 0 :(得分:3)

环顾四周后,我已经为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.__pageSizee.source.__doneUpdatinge.source.__updating是由将代码插入tableView的代码维护的内部变量。