2014-10-28 113 views
0

我目前有我的android应用程序中的缩略图加载问题。缩略图显示在列表视图中,我想知道是否有一种方法可以让我知道当前正在使用哪些列表项并存储为更快的滚动,以便我可以回收未使用的缩略图,如果出现内存不足的回复BitmapFactory。抛出ListView项目

将图像加载到图像视图时更加清晰,这非常简单,但有没有一种方法可以观察当前正在使用哪些项目,甚至更好的方法是在项目被引发时在列表视图中调用的方法出来吗?

在此先感谢。

回答

0

标准的ListView动态地创建只有那些项目,将是可见的意见。即使列表中的项目多于屏幕上的项目,也不会有比显示屏幕上的项目更多的视图。

要列出屏幕上当前可见的项目,请使用ListView.getChildAt()并从0重复为ListView.getChildCount()。 I.E.做这样的事情:

for (int i = 0; i < listView.getChildCount(); i += 1) { 
    // the view itself 
    View itemView = listView.getChildAt(i); 
    // the data it is representing (I used String just as an example) 
    String itemData = (String) listView.getItemAtPosition(
      i + listView.getFirstVisiblePosition()); 

    // do whatever you need to do with it 
} 

我不知道一个简单的方法来获取正在回收的意见的通知。也许你可以扩展ListView类并重写一些方法。也许有人已经建立了一个你需要的组件。