0

这个问题是我之前关于堆栈溢出how-to-download-images-asynchronously-from-web-server 的问题的延续。我正在努力在黑莓中制作异步列表。现在它对我来说工作正常。但它现在给了我另一个问题。

到目前为止我做了什么

  1. 创建了一个从 XML 提要中获取价值的列表视图
  2. 列表加载了默认缩略图
  3. Created RunnableFactory,将线程池大小限制为 5,然后将可运行对象添加到其中。可运行对象具有从服务器下载图像的能力。
  4. 现在列表异步加载非常好。

问题场景

在加载列表屏幕时,它正在初始化RunnableFactory,然后开始下载和渲染列表中的图像。但是,假设我在列表中有 50 行。现在已经成功下载了 10 张图片,并且 RunnableFactory 仍在运行。此时按返回键,然后单击下一步。实际上,它应该出现在列表屏幕上,然后重新启动下载过程。但它抛出IllegalThredState 异常

我对这个问题的假设

由于所有线程都在运行,我可能不得不取消按下后退键的所有线程。如果这是问题,你能告诉我我该怎么做吗?由于我创建了多个线程,我怎么能设法停止所有线程然后导航回来?

这看起来像一个更复杂的系统。谁能帮助我了解还有什么可能解决这个问题?

4

2 回答 2

1

当我在完成运行后第二次尝试启动线程时出现此异常。一旦启动,线程可能不会重新启动。

于 2012-06-12T08:12:32.427 回答
0

如果您正在使用任何踏板,那么您将关闭,否则您可以在导航到返回时中断所有踏板。

于 2012-06-11T17:31:38.470 回答