如何在Android中的视图中下载和放置图像

时间:2011-06-14 14:01:10

标签: java android http bitmap image

我使用API​​(...)我收到一个包含png的网址,我无法展示图片。

我必须下载图片并进行展示。我做了一个手势来请求另一张图片,所以当用户询问最新图片时(当他在图片上做出手势时)我必须删除旧图片

所以,我有一种方法可以下载并显示图片(但屏幕仍然是黑色......):

    private void downloadImage() {
    Bitmap bitmap = null;
    try {
        URL urlImage = new URL("http://www.google.fr/intl/en_com/images/srpr/logo1w.png");
        HttpURLConnection connection = (HttpURLConnection) urlImage.openConnection();
        InputStream inputStream = connection.getInputStream();
        bitmap = BitmapFactory.decodeStream(inputStream);
        Log.v("", "is showed");
        image.setImageBitmap(bitmap);
        Log.v("", "isn't");
        } 
    catch (MalformedURLException e) {
        e.printStackTrace();
        } 
    catch (IOException e) {
        e.printStackTrace();}
    }

在onLoad中,我已经把

setContentView(R.layout.secondtab);

image =(ImageView)findViewById(R.id.ivImage);

和I'va在@Override之前声明了ImageView图像。

在xml中,就像那样:

<?xml version="1.0" encoding="utf-8"?>

<android.gesture.GestureOverlayView
    android:id="@+id/gestures" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:layout_weight="1.0"
    android:eventsInterceptionEnabled="true" android:gestureStrokeType="single" 
    android:gestureColor="#00FFFFFF"/>

<ImageView 
android:id="@+id/ivImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollbars="vertical"
/>

感谢您的帮助: - )

2 个答案:

答案 0 :(得分:1)

也许试试image.postInvalidate()?如果您在UI线程上运行所有这些操作,则只需使其无效。

答案 1 :(得分:0)

我的错误是同一行的两倍:

setContentView(R.layout.secondtab);

现在它正在运行,我只需要调整它的大小!

感谢StackOverFlow!