【发布时间】:2015-03-16 15:06:27
【问题描述】:
我正在使用 picasso 加载图像作为我的活动的背景,我想使用 AsyncTask,而图像正在加载,完成后进度条消失以使我的应用程序具有更好的外观,
这是我的代码:
private class RemoteDataTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
mProgressDialog = new ProgressDialog(MainActivity.this);
mProgressDialog.setMessage("Chargement...");
mProgressDialog.setIndeterminate(false);
mProgressDialog.show();
}
@Override
protected Void doInBackground(Void... params) {
Picasso.with(MainActivity.this).load("http://tv2.orangeadd.com/mediacenter-data/ofc__bg_home.jpg").into(background,new com.squareup.picasso.Callback() {
@Override
public void onSuccess() {
mProgressDialog.dismiss();
}
@Override
public void onError() {
}
});
return null;
}
@Override
protected void onPostExecute(Void result) {
}
}
这总是显示错误并强制我的应用程序退出!
谢谢大家:)
【问题讨论】:
-
它显示什么错误? logcat 里有什么?
-
我猜毕加索图像加载不需要 AsyncTask 因为 Picasso.with(Context).load("url").into(imageview) 将调用传递给工作线程,你可以在 UI(Main) Thread 中调用这一行。
-
我猜你对
Picasso的工作原理缺乏一些基本的了解,因为你做的事情看起来有点……奇怪。请查阅文档square.github.io/picasso -
谢谢你们,我更了解毕加索的工作原理
标签: android android-asynctask picasso