MonKing__ 2016-11-12 07:15 采纳率: 0%
浏览 908

没办法设置第一张图片的问题

用开源的Xutil的BitMapUtils的话 是可以显示网络下载的第一张图片的。
然后我自己写了个bitmapUtils,写完以后,其他图片显示没有问题,就是不会显示第一张图片。
不知道问题出在哪里。
用的是recycleview展示图片。
以下是代码:

1.这个方法就是设置图片的方法,除了第一张图片,其他图片加载都没有问题。

  utils.display(mHolder.mImage,mData.get(position).listimage);

2.在MyBitmapUtils的类里面的方法

  public void display(ImageView mImage, String url) {
        //网络加载图片
        mNetCaCheUtils.getBitMapFromNet(mImage,url);
    }

3.以下是NetCaCheUtils整个类的代码。

public class NetCaCheUtils {

    private ImageView imageView;
    private String url;
    public void getBitMapFromNet(ImageView mImage, String url) {
        new BitMapTask().execute(mImage, url);
    }

    class BitMapTask extends AsyncTask<Object, Integer, Bitmap> {
        @Override
        protected void onPostExecute(Bitmap o) {
            if (o != null) {
                //给imageview设置图片
                imageView.setImageBitmap(o);
            }
        }

        //更新下载时时
        @Override
        protected void onProgressUpdate(Integer[] values) {
            super.onProgressUpdate(values);
        }

        @Override
        protected Bitmap doInBackground(Object[] params) {
            imageView = (ImageView) params[0];
            url = (String) params[1];
            //下载图片
            Bitmap bitmap=null;
            try {
                bitmap = download(url);
            } catch (IOException e) {
                e.printStackTrace();
            }
            return bitmap;
        }

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }
    }

    public Bitmap download(String url) throws IOException {
        HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
        conn.setRequestMethod("GET");
        conn.setReadTimeout(5000);
        conn.setConnectTimeout(5000);
        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            InputStream inputStream = conn.getInputStream();

            //根据输入流生成一个bitmap
            Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
            return bitmap;
        }
        if (conn != null) {
            conn.disconnect();
        }
        return null;
    }
}
  • 写回答

1条回答 默认 最新

  • wei15801110272 2016-11-12 07:53
    关注

    先点击获取一下Log信息,看看有没有错位的可能,

    评论

报告相同问题?

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝