我有以下类(class):
class CargaImgsParaAmpliar extends AsyncTask<Void, Void, Bitmap> {
final ProgressDialog progressDialog = new ProgressDialog(imagen.this);
protected void onPreExecute() {
progressDialog.setTitle("");
progressDialog.setMessage("Cargando Imagen...");
progressDialog.show();
}
protected Bitmap doInBackground(Void... params) {
Bitmap mIcon1 = null;
URL url_value;
try {
url_value = new URL(StrUrl);
mIcon1 = BitmapFactory.decodeStream(url_value.openConnection().getInputStream());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mIcon1;
}
protected void onPostExecute(Bitmap imagen) {
m_imageView.setImageBitmap(urlImageToBitmap(StrUrl));
progressDialog.dismiss();
}
}
我正在 AsyncTask 中执行互联网放电过程,但它仍然给我异常 android.os.NetworkOnMainThreadException
。
如何解决这个问题?
最佳答案
在我看来,urlImageToBitmap
访问网络,但是是从 onPostExecute
(在 UI 任务上运行)执行的。
而且您似乎没有对 onPostExecute
中的 imagen
参数执行任何操作。所以在doInBackground
中检索到的图像基本上丢失了。
关于java - android.os.NetworkOnMainThreadException 进入 AsyncTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11675988/