java - 如何通过 URL Android 在 ImageView 中设置图像

标签 java android android-imageview

我找到了this tutorial “How to load an ImageView by URL in Android”,这对我来说效果很好,但就我而言,我不想只设置一些图像,而是设置一个列表,我有一个 Api RestFull ,它返回一些字符串和图像 URL,正如我在该教程中看到的,它使用 AsyncTask 来下载图像并设置在 ImageView 内部,在我的例子中,我已经使用了 AsyncTask code> 要从我的 API 检索,我是否需要在 ModelClass 中放入一些内容才能自动下载?

这就是我所拥有的...

public void getAdsUser(final Activity context){
    new AsyncTask<Void, Void, String>() {
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }
        @Override
        protected String doInBackground(Void... voids) {
            try {
                Response = new WebBase().getUserAds(context);
                if(Response.equals("NODATA")){
                    return "NODATA";
                }
                if (Response.equals("EMPTY")){
                    return "EMPTY";
                }
                if (Response.isEmpty()){
                    return "ERROR";
                }
                else {
                    return "OK";
                }
            } catch (IOException e) {
                e.printStackTrace();
                return "ERROR";
            }
        }
        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            switch (s){
                case "NODATA":
                    GenericAlertDialog.MakeDialog(UserAds.this,R.string.NODATA);
                    break;
                case "ERROR":
                    GenericAlertDialog.MakeDialog(UserAds.this,R.string.Error_Internet);
                    break;
                case "EMPTY":
                    isVisible_ads.setVisibility(View.VISIBLE);
                    break;
                case "OK":
                    UserModelView[] modelArray = new Gson().fromJson(Response,UserModelView[].class);
                    List<UserModelView> userModelView = new ArrayList<>(Arrays.asList(modelArray));
                    adapterUserView.add(userModelView);
                    recyclerView.setAdapter(adapterUserView);
                    break;
            }
        }
    }.execute();
}

谢谢!

最佳答案

使用毕加索,让您的生活变得更轻松。

加载图像可以是一个简单的一行

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);

在网站上查看更多内容 http://square.github.io/picasso/

关于java - 如何通过 URL Android 在 ImageView 中设置图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41228552/

相关文章:

java - 写入不同的文件而不是覆盖文件

android - 如何从 ImageView 获取实际图像宽度/高度?

android - 如何按比例缩放宽度等于 "match_parent"的任何图像( ImageView )?

android - 如何向Listview添加两种不同的布局?

java - 从单独的类打开单独的 JavaFX 窗口

java - 创建六角图的问题

java - 如果检查通过,Android Firebase : user send data for manual inspection, 将使数据可供所有人使用

Android Marshmallow - 从另一个库模块调用库模块( native 库)崩溃

android - System.exit() 和 killProcess() 之间的区别

android - 当页面在 ViewPager2 中不可见时如何停止视频