填充gridview / listview时调用的事件

时间:2014-02-23 13:35:32

标签: android android-listview adapter android-gridview android-adapter

使用复杂的适配器,调用GridView方法后,ListViewsetAdapter()有时需要很长时间才能填充。是否有一个我们可以覆盖的方法,当视图已成功填充数据并准备显示时,会触发该方法?

1 个答案:

答案 0 :(得分:1)

我的感觉是,setAdapter()不是需要很长时间,而是复杂的适配器正在做一些复杂的事情。 ListView和GridViews指定工作相当快,但有一些原因可能会慢一些。以下是关于如何解决这个问题的一些想法。

  1. 弄清楚需要这么长时间。网络调用,大型数据库查询和加载大型文件(特别是位图)通常是有罪的一方。如果您没有这些,请尝试分析您的代码,并查看您可以从中发现的内容。
  2. 一旦你弄清楚了罪魁祸首,看看你能做些什么来减少时间。也许缩小位图的大小,或使用更好的数据库查询都可以。
  3. 如果您不能再缩短时间,请在AsyncTask中执行复杂任务。这将在后台执行代码的复杂部分,并仅在完成时显示结果。这适用于网络调用,加载位图等等。