One*_*rld 24 multithreading android android-asynctask
我想实现一个通用的线程保存类,它接受ImageView的RessourceId和存储所需图像文件的Url(http).它将下载图像并在UiThread中填充ImageView的src.
我认为AsyncTask对我来说是最好的.但是我注意到我只能将一种类型的参数传递给doInBackground()Method.就像一个Urls数组.真的吗?你会建议我什么?
gar*_*ax1 51
您可以将params作为对象传递
new MyTask().execute(url, str, context);
public class MyTask extends AsyncTask<Object, Void, Void> {
@Override
protected Void doInBackground(Object... params) {
Url url = (Url) params[0];
String str = (String) params[1];
Context ctx = (Context) params[2];
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
hpi*_*que 23
您可以在AsyncTask实现中添加setter方法,甚至可以定义自己的构造函数来传递其他参数.
(可选)如果您的AsyncTask实现是活动的内部类,则可以访问活动的所有实例变量.我自己更喜欢上面的选项,因为它清楚地表明了任务需要哪些数据.
| 归档时间: |
|
| 查看次数: |
12549 次 |
| 最近记录: |