【发布时间】:2014-12-06 17:06:53
【问题描述】:
我有一个从 url 获取位图然后更改图像视图的代码,但我不知道为什么这不起作用。我尝试了一些类似的答案,但图像仍然没有设置。
这得到一个位图。
class picture_get extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
URL img_value = null;
try {
img_value = new URL("https://graph.facebook.com/"+id+"picture?type=large");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
bitmap_pic = BitmapFactory.decodeStream(img_value.openConnection().getInputStream());
Log.i("bitmap_pic_get", "ok");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//bitmap_pic = Bitmap.createScaledBitmap(bitmap_pic, 50, 50, false);
return "Executed";
}
}
这个设置图像视图
new picture_get().execute();
runOnUiThread(new Runnable() {
@Override
public void run() {
textView1.setText("Id: "+ id);
image1.setImageBitmap(bitmap_pic);
}
});
所有代码都可以工作,但图像仍然相同。
【问题讨论】:
-
您能具体说明您要做什么吗?
-
很难说,但在我看来,从您发布的代码来看,您是在加载图像之前设置图像。你不应该在
AsyncTask中覆盖onPostExecute,然后从那里调用runOnUIThread(...)吗? -
我试图从 url 获取图片并将其设置在 imageview 上 :)
标签: java android bitmap imageview android-drawable