gpt4 book ai didi

android - ScrollView 的滚动有监听器吗?

转载 作者:行者123 更新时间:2023-11-29 02:14:30 26 4
gpt4 key购买 nike

我在ScrollView里面有一个TableLayout,因为一些特殊的需要,我需要在ScrollView到达顶部的时候做一些事情。有没有这样的监听器来监听用户的滚动操作?或者,如果没有现成的监听器,我可以将 ScrollView 子类化(我认为这会很痛苦)来实现这一点吗?我需要实现哪些方法?到目前为止,我还没有看到解决这个问题的方法,但我希望这只是因为我错过了一些东西......

谢谢!

(如果您想知道我为什么要这样做,这里有更多背景信息:

我有一个平面文件数据库,我使用 TableLayout 来显示查询结果。当查询生成数千行时,填充表(使用 TableLayout.addView() 添加行)所花费的时间变得 Not Acceptable ——在模拟器上一分钟!而且,有一个特殊的需要,当表格出现时,它必须放在最后一页。也就是说,我必须先填充最后几行,然后向上增长,而当表格增长时显示保持不变。到目前为止,我尝试了两种方法,没有一种是令人满意的。所以我不得不稍微降低要求——我不会一次填充所有 3,000 行,相反,我只填充最后几页,比如最后 40 行左右。这样,用户将立即看到显示的结果。然后,如果他决定向上滚动,当程序看到它时,我会填充更多页面,等等。因此,我需要一个监听器或某种方式来检测表格或 ScrollView 何时到达顶部。感谢您阅读到这里!)

最佳答案

您可能想要研究扩展 BaseAdapter http://developer.android.com/reference/android/widget/ArrayAdapter.html并覆盖 getView(int position, View convertView, ViewGroup parent)。用那种方法你可以检查位置。因此,如果您首先用 10 个项目填充列表并且位置为 10,那么您知道您已经到达列表底部并且可以向列表中添加更多项目。如果位置为 0,您就知道您在列表的顶部。ListView 中还有一种方法可以让您的项目从底部开始(如 Messenger 应用程序)http://developer.android.com/reference/android/widget/AbsListView.html#setStackFromBottom(boolean ).

关于android - ScrollView 的滚动有监听器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5121323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com