我正在开发一个带有滚动视图的页面,其中包含许多内容。活动的布局大致如下:
/ -------------------------------- 滚动查看开始 / --------------------------------
/- 水平列表视图1 / ---
/- 水平列表视图2 / ---
/- 水平列表视图3 / ---
/- 水平列表视图4 / ---
/ -------------------------------- 滚动查看结束 / --------------------------------
如您所见,该活动具有大量的listview内容,并且listview内部具有从数据库检索的图像或文本。
我想对此活动实施延迟加载,但不知道什么是好方法。我看的所有教程始终都是列表视图的延迟加载,而不是内容丰富的滚动视图。
现在,我只是使用按时间顺序从数据库中加载数据。例如,首先我调用代码以将数据检索到列表视图1中,然后调用该代码,然后将代码调用到列表视图2中,直到调用完最后一个列表视图为止,同样如此。
但是那不是一个懒惰的加载吧?我的意思是,当用户打开活动时。无论用户是否想要,所有从上至下的数据都将加载。我想要的是仅当用户向下滚动并且内容在用户视图中时才加载内容。
这是我按时间顺序调用数据的方式
json_decode
就像我之前说过的那样,无论用户是否滚动活动,使用上述代码仍会加载所有数据。 我想要的是延迟加载或类似的东西,其中只有在用户视图中有内容时才加载数据。
答案 0 :(得分:0)
这似乎是实施Google Jetpack的Paging Library的好地方。这样,您就可以仅在用户请求时查询数据(通常通过向下滚动列表);与RecyclerView和重写RecyclerView.Adapter结合使用,您应该能够获得想要的效果。