【问题标题】:Android - Asynchronous task to load imagesAndroid - 加载图像的异步任务
【发布时间】:2023-04-07 08:26:01
【问题描述】:

我正在尝试编写一个AsyncTask,它将ImageView图像的路径 作为输入并将图像加载到后台线程中。我想知道如何同时传递ImageViewAsyncTask 的路径? doInBackground 中的 Params 参数可以保存属于同一类的数据的 array,但这是不同的场景,因为其中一个是 View,另一个是文件的路径 (@987654329 @)。

我有一个选择,是将AsyncTask 作为内部类,并将ImageView 声明为可以在AsyncTask 内部访问的类变量。我不想这样做,因为同一个任务被多个类使用,它不符合 DRY 政策。

感谢任何帮助。

谢谢。

【问题讨论】:

    标签: android android-asynctask


    【解决方案1】:

    您可以使用 ImageView 的 setTag 方法,并为其指定图像的路径。 然后你的 asynctask 或后台线程可以 getTag 你的 imageView 并用它做任何你想做的事情。

    【讨论】:

      【解决方案2】:

      在 SO Android : Loading an image from the Web with Asynctask 中提出的相同类型的问题,也请查看 Trying to use AsyncTask do download some image files 尝试一下,如果发现问题,请告诉我。

      【讨论】:

        【解决方案3】:

        您可以将任务的参数声明为一对 ImageView 和一个字符串。

        private class DownloadFilesTask extends AsyncTask< Pair<ImageView, String> >, Integer, Long> {
        
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-07
          • 2020-07-31
          • 1970-01-01
          • 2018-01-19
          • 1970-01-01
          相关资源
          最近更新 更多