【问题标题】:Android load images into viewpager from webAndroid将图像从网络加载到viewpager
【发布时间】:2016-04-05 11:05:17
【问题描述】:

我正在从 drawable 加载图像,但它现在无效我想从 web 加载图像但我被卡住了。我真的在寻找解决方案,但我无法成功。 有我的自定义适配器类:

int[] imageId = {R.drawable.first, R.drawable.second, R.drawable.third, R.drawable.fourth, R.drawable.fifth};

        public Object instantiateItem(ViewGroup container, int position) {
        global_position=position;

        LayoutInflater inflater = ((Activity)context).getLayoutInflater();

        View viewItem = inflater.inflate(R.layout.image_item, container, false);
        imageView = (ImageView) viewItem.findViewById(R.id.imageView);
        imageView.setImageResource(imageId[position]);
        ((ViewPager)container).addView(viewItem);
        return viewItem;
    }

它怎么能从网络上下载图像并加载视图寻呼机。

【问题讨论】:

标签: android image asynchronous android-viewpager


【解决方案1】:

您可以使用 AsyncTask 来完成这项工作,而不会让您的应用崩溃。

class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
    ImageView myImage //your image url;

    public DownloadImageTask(ImageView myImage) {
        this.myImage = myImage;
    }

    protected Bitmap doInBackground(String... urls) {
        String urldisplay = urls[0];
        Bitmap mIcon = null;
        try {
            InputStream in = new java.net.URL(urldisplay).openStream();
            mIcon = BitmapFactory.decodeStream(in);
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
        return mIcon;
    }

    protected void onPostExecute(Bitmap result) {
        imageView.setImageBitmap(result);
    }
}

要使用这个类,只需像其他类一样实例化它。

new DownloadImageTask((ImageView) findViewById(R.id.your_image_viewer))
            .execute(imageURL);

【讨论】:

  • “ImageView myImage //你的图片网址”是什么意思
  • 这是您要下载的图片的网址。
  • 如何将 url 投射到 Imageview ?请写示例网址并告诉我该怎么做?
  • 我刚刚编辑了我的答案,假设您有一个 ImageView 来显示您的图像。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多