【问题标题】:Update ImageView Android更新 ImageView Android
【发布时间】:2012-11-21 21:38:27
【问题描述】:

在 onCreate 事件中,我向 facebook api 发出异步请求:

Utility.mAsyncRunner.request(null, params1,
                    new myListener());

在 myListener 的 onComplete 事件中,我想在图像视图中设置图像

public class PhotoDisplayListener extends BaseRequestListener {

        @Override
        public void onComplete(final String response, final Object state) {
        //set my image with the url provided in the response
        ...parse json....
ImageView img = (ImageView)findViewById(R.id.img);


                URL ulrn = new URL(photourl);
                HttpURLConnection con = (HttpURLConnection)ulrn.openConnection();
                InputStream is = con.getInputStream();
                Bitmap bmp = BitmapFactory.decodeStream(is);
                if (null != bmp){
                    img.setImageBitmap(bmp);
                    setImage(bmp);
                    }
                else
                    System.out.println("The Bitmap is NULL");

                }catch(Exception e){} catch (FacebookError e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    showToast(e.getMessage());
                }

}

}

问题是图像视图没有用我设置的新视图刷新。 它设置它,它不会刷新它。如果我锁定和解锁手机,图像会按原样显示。 如何强制刷新图像视图? 谢谢!

【问题讨论】:

    标签: android eclipse imageview


    【解决方案1】:

    设置图片后使用img.invalidate();使imageview刷新。

    像这样::

    img.setImageBitmap(bmp);
    img.invalidate();
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      您无法从外部(另一个线程)更新 UI 线程。我建议您改为在您的活动上调用一个方法来更新 ImageView。

      关于这个话题的文章:Painless Threading

      【讨论】:

        【解决方案3】:

        在我在这里问这个问题之前,我看了几篇帖子。这不是原因,因为我之前尝试过。我认为问题在于我显示图像的方式。

        我在服务器上有一个图像,我将用从客户端接收到的图像替换它。问题是一旦我从客户端发送图像,即使图像没有完全接收到,服务器图像也会消失。

        我想我必须先找到一种方法来完全接收图像,然后再做 img.SetBitmap(bmp);

        【讨论】:

          猜你喜欢
          • 2023-04-06
          • 1970-01-01
          • 1970-01-01
          • 2012-04-17
          • 1970-01-01
          • 1970-01-01
          • 2015-11-03
          • 2023-01-18
          • 1970-01-01
          相关资源
          最近更新 更多