【发布时间】:2011-07-07 19:36:23
【问题描述】:
我有一个 ListActivity,它启动一个任务来访问 Web 服务并在 ListView 中显示结果。每个结果都附有一个图像 ID。
我编写了一个方法,该方法将获取屏幕上显示的行的图像 ID(firstVisiblePosition() 到 lastVisiblePosition())并启动一个任务来查询另一个 Web 服务以获取要为这些项目显示的图像。当列表的滚动状态变为 SCROLL_STATE_IDLE 时,我调用此方法。这使得用户可以滚动,并且获取可见行图像的任务在滚动停止之前不会执行,从而阻止它查找屏幕外行的图像。
我的问题是,当结果最初显示在 ListView 中时,我找不到调用方法来查找要查询的图像 ID 的好方法。显然,在调用 setAdapter 后立即调用此方法不起作用(我猜是因为 ListView 的某些工作是异步发生的)。我正在使用多个适配器(出于与本文无关的原因),因此我需要一种等待列表项显示的好方法,然后再调用我的方法来获取 ID。
有什么想法吗?
【问题讨论】: