1

嗨,我正在尝试构建像 Plus 新闻这样的 UI,

第一次尝试:我尝试将 ListView 用作垂直视图,每个新闻提要都是水平 ListView,但问题是“行重用”,列表视图重用视图,这使我的应用程序变慢,

第二次尝试:我使用大量布局构建了一个自定义 ui,主滚动视图和水平滚动视图,视图构建后非常流畅,但问题是 ui 需要 10-30 秒才能构建,并且活动处于黑暗视图直到建造过程完成,

所以对我来说没问题,但我需要显示对话框说“正在加载 Ui”,但我不能显示它,因为构建过程正在主线程中处理,并且对话框也将显示在主线程中,

那么如何实现呢?!

我尝试使用处理程序、线程,但出现 Looper.prepare 错误

谢谢


更新 :

我对 listview 的问题是:

每次我像第一次一样滚动显示的新行,那又如何,我使用带有进度条的延迟加载图像,每次行显示显示的进度条并等到从 sd 加载图像时,它需要 1 秒,但是问题是 1 秒 100 图像是 100 秒,

所以如果这 100 秒只用了一次,那么所有的滚动条都会顺利工作,所以如果有任何方法可以停止重新使用 convertedView 这将是解决方案 - 我在 iphone 中使用了这个解决方案并且它有效 -

4

1 回答 1

1

您可以尝试onCreate(..)在调用前显示 spinner setContentView(..),但这不是一个好的解决方案,因为您可能会遇到其他问题,例如不同设备上的 OOM。

我建议你给ListView第二次机会,这是一个非常好的小部件,但你需要正确使用它。实际上,如果使用得当,“行重用”会更快(不是每次getView(..)都调用新视图,利用 ViewHolder-pattern)。

于 2012-11-16T11:33:44.293 回答