我正在尝试执行一个非常简单的任务(在后台将图像加载到ImageView中),但是无法使其正常工作。任何帮助,不胜感激。
这是到目前为止的内容:这是我在主线程中的create调用类的方式:
LoadImage newImage=new LoadImage();
newImage.execute(myImgeView);
接下来,我创建了该类:
public class LoadImage extends AsyncTask<ImageView, Void, ImageView> {
ImageView imageView;
@Override
protected ImageView doInBackground(ImageView... params) {
Log.e("myTag",": Can it see this class from where I call it? Yes it does" );
imageView.setImageResource(R.drawable.myNewImage);
return imageView;
}
}
我不知道如何正确设置它。它崩溃时说出类似以下内容:尝试在空对象引用上调用虚拟方法'void android.widget.ImageView.setImageResource(int)'。
在此先感谢您的帮助。
问题出在以下代码中:
imageView.setImageResource(R.drawable.myNewImage);
在variable
imageView
无法从看出AsyncTask
级,你想要的是ImageView的内部params
数组,所以你可以参考它params[0]
。因此,将以上代码替换为:
ImageView imageView = params[0];
imageView.setImageResource(R.drawable.myNewImage);
return imageView;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句