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

发布于 2025-01-01 03:30:04 字数 478 浏览 1 评论 0原文

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

谁能给我一个关于如何使用 Titanium 在 Android 中执行此操作的代码或粗略想法?我检查了这篇文章: https://github.com/appcelerator /KitchenSink/blob/master/Resources/examples/table_view_dynamic_scroll.js 但这是针对 iPhone 的,我也需要它用于 Android。帮帮我吧...

I am creating an appliction which uses Google Books API. So whenever I search a book it gives a JSON response and I load those results in my table view. There will be thousands of books results when I search. But I don't want to load everything in my tableview. Whenever I scroll down it only has to load next books.

Can anyone give me a code or rough idea on how to do this in Android using Titanium? I have checked this post: https://github.com/appcelerator/KitchenSink/blob/master/Resources/examples/table_view_dynamic_scroll.js But this is for iPhone, I need it for Android as well. Help me out...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼眸里的那抹悲凉 2025-01-08 03:30:04

环顾四周后,我为 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 的代码维护的内部变量。

After looking around I have implemented following solution for 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);
    }
);

Where e.source.__pageSize, e.source.__doneUpdating, and e.source.__updating are internal variables that are maintained by the code inserting rows into the tableView.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文